3

我已经查看了文档,但我无法弄清楚我打算用来让 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

但我很确定它是不完整的。

此外,我正在努力寻找我应该在哪里注册 google app id 和密钥。

提前致谢。格雷姆

4

4 回答 4

2

Google 是一个 openid 实现。在初始文件中添加以下内容

provider :openid, OpenID::Store::Filesystem.new('./tmp'), :name => 'google', :identifier => 'https://www.google.com/accounts/o8/id'
于 2011-05-25T11:13:25.707 回答
2

我最后使用的线是...

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

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

于 2011-07-05T12:53:44.807 回答
1

您可能想查看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'希望它有所帮助:)

于 2011-02-20T13:35:15.843 回答
0

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

Rails.application.config.middleware.use OmniAuth::Builder do  
   provider :openid, nil, :name => 'google', :identifier =>'https://www.google.com/accounts/o8/id'  
end
于 2011-06-28T18:33:29.807 回答