2011-07-03 15 views
0

私はRuby 1.9.2 + Rails 3 + Devise + Omniauthを使用しており、Openidでユーザーを認証しようとしています。 omn​​iauth.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を返します。また、googleまたはyahooの両方で、コールバックURLが呼び出されると400(Bad Request)を返します。グーグルとヤフーの場合

は、私が:required => []のparamを追加しました(idは何をするか本当にわからない)、それは400エラーを返しますが、再びuser_info didntはそれは権限かもしれ

答えて

0

nilをしました。 ( 'tmp')から( '/ tmp')に変更してみてください

関連する問題