我已查看过文档,但我无法弄清楚我想要使用的特定行,以便让设计+ 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应用ID和密钥。
提前致谢。 格雷姆
答案 0 :(得分:2)
Google是一个openid实现。在初始文件中添加以下内容
provider :openid, OpenID::Store::Filesystem.new('./tmp'), :name => 'google', :identifier => 'https://www.google.com/accounts/o8/id'
答案 1 :(得分:2)
我最后使用的一行是......
config.omniauth :google, GOOGLE_APP_ID, GOOGLE_SECRET, :scope => "http://www.google.com/m8/feeds http://picasaweb.google.com/data/"
原来我错过了访问Picasa所需的范围,这正是导致我出现问题的原因。
答案 2 :(得分:1)
您可能需要查看https://github.com/holden/devise-omniauth-example。请特别注意methods defined in user.rb,他们使用的user_token模型,devise views和devise.rb。最后一个特别展示了如何配置devise / omniauth以通过openid与google协同工作:config.omniauth :google_apps, OpenID::Store::Filesystem.new('/tmp'), :domain => 'gmail.com'
希望它有所帮助:)
答案 3 :(得分: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