2012-04-17 37 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

相关问题