首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OmniAuth使用google 2策略范围失败

OmniAuth使用google 2策略范围失败
EN

Stack Overflow用户
提问于 2011-12-16 22:51:37
回答 2查看 7.7K关注 0票数 13

我正在使用google-oauth-2策略和OmniAuth从谷歌获取日历数据。

如果我在范围字段中不放任何东西,它就能正常工作,并且我可以在没有auth/failure消息的情况下获得默认信息,并且我可以正常使用该应用程序。

但是,当我添加一个作用域时,如下面的示例所示,我会得到一个“auth/failure?message=failure_凭据”。

代码语言:javascript
复制
Rails.application.config.middleware.use OmniAuth::Builder do
    provider :google_oauth2, ENV['TEST_KEY'], ENV['TEST_SECRET'], { :scope => 'https://www.google.com/calendar/feeds/' }
end

有什么东西我错过了还是有什么我该换的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-19 23:07:02

一封来自google 2战略作者的快速电子邮件指出:

如果不包括配置文件作用域,则无法进行身份验证。

通过将userinfo.emailuserinfo.profile (以及日历范围)添加到逗号分隔的:scope列表中,我能够解决问题。

示例:

代码语言:javascript
复制
Rails.application.config.middleware.use OmniAuth::Builder do
    provider :google_oauth2, ENV['TEST_KEY'], ENV['TEST_SECRET'], 
           { :scope => 'userinfo.email, userinfo.profile, https://www.googleapis.com/auth/calendar' }
end
票数 23
EN

Stack Overflow用户

发布于 2011-12-28 17:17:06

有趣的是,这对我没有用。我能够使它工作,从作用域中删除逗号:

代码语言:javascript
复制
Rails.application.config.middleware.use OmniAuth::Builder do
    provider :google_oauth2, ENV['TEST_KEY'], ENV['TEST_SECRET'], 
    { :scope => 'https://www.googleapis.com/auth/docs https://www.googleapis.com/auth/userinfo.profile' }
end
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8541088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档