2012-04-17 31 views
0

我正在使用omniauth讓我的用戶「登錄」谷歌,雅虎等我是否必須註冊並獲得Google的密鑰才能「使用Google登錄」?

但突然之間,它停止工作。我仍然可以看到用戶數據通過URL發送到服務器,但omniauth不接受它。它出於某種原因說'無效憑證'。

這是我的配置:

config.omniauth :open_id, :store => OpenID::Store::Filesystem.new('/srv/www/myapp/tmp'), :name => 'google', :identifier => 'https://www.google.com/accounts/o8/id', :require => 'omniauth-openid' 

但現在我看到裏面還有我可以使用(而不是開放-ID),一個谷歌的戰略位置:https://github.com/intridea/omniauth/wiki/List-of-Strategies

它需要密鑰的,所以現在我很困惑。爲什麼谷歌接受許多策略?我應該使用哪個?

我的開放式身份驗證策略是否仍然有效?我怎樣才能調試呢?

回答

1

如果您最近更新了您正在使用的Omniauth寶石的版本,則可能不再需要安裝您需要的寶石。他們將不同的提供商分成他們自己的寶石。

有關該問題的討論,請參見https://github.com/intridea/omniauth/issues/451

關於谷歌的OAuth2信息可能證明是有益的:https://developers.google.com/accounts/docs/OAuth2Login

+0

我試圖建立新的寶石,但沒有成功爲止。告訴我,如果我錯了:而不是寶石'omniauth-openid',它現在應該是'oa-openid'?我無法在他們的文檔中看到任何更新:https://github.com/intridea/omniauth-openid。 – HappyDeveloper 2012-04-17 02:51:30

+0

我得到這個新寶石'oa-openid':收到錯誤數量的參數。 [:open_id] – HappyDeveloper 2012-04-17 02:51:55

相關問題