什么是正确的配置线来获得设计,omniauth和谷歌工作?

我仔细查看了文档,但我无法弄清楚我想要使用的特定行,以便让devise + omniauth + google很好地协同工作。

这个策略文件表明有一个简单的方法,但我找不到一个例子。

https://github.com/intridea/omniauth/blob/master/oa-oauth/lib/omniauth/strategies/google.rb

目前我在devise.rb初始化文件中使用下面的行。

config.omniauth :google, GOOGLE_APP_ID, GOOGLE_SECRET_KEY 

但我很确定它不完整。

此外,我很难找到我应该注册谷歌应用程序ID和密钥的位置。

提前致谢。 格雷姆

谷歌是一个开放的实施。 在初始文件中添加以下内容

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

我最后用的线是……

 config.omniauth :google, GOOGLE_APP_ID, GOOGLE_SECRET, :scope => "http://www.google.com/m8/feeds http://picasaweb.google.com/data/" 

事实certificate我错过了访问Picasa所需的范围,这正是导致我出现问题的原因。

您可以查看https://github.com/holden/devise-omniauth-example 。 特别是,请查看user.rb中定义的方法 ,它们使用的user_token模型, 设计视图和devise.rb 。 最后一个特别展示了如何配置devise / omniauth以通过openid配合google: config.omniauth :google_apps, OpenID::Store::Filesystem.new('/tmp'), :domain => 'gmail.com' ,: config.omniauth :google_apps, OpenID::Store::Filesystem.new('/tmp'), :domain => 'gmail.com'希望它有帮助:)

我在omniauth.rb中添加了以下几行,它就像一个魅力:

 Rails.application.config.middleware.use OmniAuth::Builder do provider :openid, nil, :name => 'google', :identifier =>'https://www.google.com/accounts/o8/id' end