Devise 和 OmniAuth。 Vkontakte范围问题

发布于 2024-11-18 06:00:02 字数 579 浏览 2 评论 0原文

我刚刚通过 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

你如我软肋 2024-11-25 06:00:02

似乎这是因为 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文