Devise 和 OmniAuth。 Vkontakte范围问题
我刚刚通过 https://github.com/ 使用 Rails 3、Devise 和 OmniAuth 进行设置plataformatec/devise/wiki/OmniAuth:-概述。
我想将我的应用程序与 vkontakte.ru 集成。当我使用此配置时,一切顺利,我可以创建用户并且可以访问用户数据。
config.omniauth :vkontakte, 'xxx', 'xxx'
但是当我添加范围参数
config.omniauth :vkontakte, 'xxx', 'xxx', {
:scope => "notify,friends,photos,notes,docs,pages,wall,offline"
}
omniauth时会引发失败(在用户注册页面上重定向我并且不将数据存储在env[“omniauth.auth”]中)。 如果有任何帮助,我将不胜感激。
I just got setup using Rails 3, Devise and OmniAuth via https://github.com/plataformatec/devise/wiki/OmniAuth:-Overview.
I want integrate my app with vkontakte.ru. When i'm using this config everything goes fine i can create user and i can access user data.
config.omniauth :vkontakte, 'xxx', 'xxx'
But when i'm adding a scope param
config.omniauth :vkontakte, 'xxx', 'xxx', {
:scope => "notify,friends,photos,notes,docs,pages,wall,offline"
}
omniauth raise failure(redirects me on user sign up page and dont store data in env["omniauth.auth"]).
I'll be appreciated for any help.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
似乎这是因为 VK oauth 响应中的属性 expires_in=0 ,它指示“离线”范围请求的长期令牌,并导致omniauth 立即刷新令牌。
我刚刚在此处提交了补丁。
Seems like that's because of the attribute expires_in=0 in the VK oauth response, that indicates the long-living token that was requested by the 'offline' scope and leads to the instant token refreshing by omniauth.
I've just submitted patch here.