2011-07-03 3 views
0

Ruby 1.9.2 + Rails 3 + Devise + Omniauth를 사용하고 Openid를 사용하여 사용자를 인증하려고합니다. omniauth.rb에Omniauth OpenId 인증은 user_info에서 nil을 반환합니다.

내 업체가 나는 제공자에게 제대로 리디렉션하고 콜백이 호출됩니다

provider :open_id, OpenID::Store::Filesystem.new('/tmp') 

provider :open_id, OpenID::Store::Filesystem.new('/tmp'), 
{:name => "google", :identifier => "https://www.google.com/accounts/o8/id" } 

provider :open_id, OpenID::Store::Filesystem.new('/tmp'), 
{:name => "yahoo", :identifier => "https://me.yahoo.com" } 

있습니다. 그러나 myopenid의 경우 항상 user_info 해시에서 nil을 반환합니다. 그리고 구글이나 야후 모두 콜백 URL이 호출되면 400 (잘못된 요청)을 반환합니다.

구글과 야후, 나는 :required => [] PARAM (정말 확실 ID가 무엇을하는지)를 첨가하고, 그것은 400 오류를 반환 didnt는, 그러나 다시 user_info 그것은 권한이 될 수 전무

답변

0

했다. 변경 ('tmp')을 ('./tmp')로 변경하십시오.