2011-07-03 35 views
0

我正在使用Ruby 1.9.2 + Rails 3 + Devise + Omniauth並嘗試使用Openid對用戶進行身份驗證。Omniauth OpenId身份驗證在用戶信息中返回nil

我對omniauth.rb提供商

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散列。對於谷歌或雅虎,當回調網址被調用時,它會返回一個400(錯誤請求)。

對於谷歌和雅虎,我加了:required => []參數(真的不知道什麼ID那樣),它沒有返回400錯誤,但同樣user_info是零

回答

0

這可能是權限。嘗試將('tmp')更改爲('./tmp')