y4k*_*4ku 13 ruby-on-rails google-calendar-api oauth-2.0 omniauth
我正在使用OmniAuth和google-oauth-2策略从谷歌获取日历数据.
如果我没有在scope字段中放置任何内容它工作正常,我得到没有auth/failure消息的默认信息,我可以正常使用该应用程序.
但是,当我添加一个范围时,如下例所示,我得到一个"auth/failure?message = invalid_credentials".
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
Run Code Online (Sandbox Code Playgroud)
有什么我缺少的东西或我应该改变的东西?
y4k*_*4ku 23
来自google-oauth-2策略作者的快速电子邮件指出了以下内容:
如果您不包含配置文件范围,则无法进行身份验证.
通过添加userinfo.email
和userinfo.profile
(以及日历范围)到逗号分隔:scope
列表,我能够解决问题.
例:
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
Run Code Online (Sandbox Code Playgroud)
And*_*ves 11
有趣,这对我不起作用.我能够使它工作,从范围中删除逗号:
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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7205 次 |
最近记录: |