ruby - Devise、Omniauth 和 Twitter

标签 ruby devise twitter-oauth omniauth

我正在开发一个使用 devise 和 omniauth 并遵循 https://github.com/plataformatec/devise/wiki/OmniAuth%3A-Overview 中给出的示例的 Rails 3 应用程序它适用于 Facebook 帐户,但当我尝试添加 Twitter 身份验证时,我收到“401 未经授权”的响应。为了追踪问题,我将 api.twitter.com 的 URL 切换为 http 并转储了网络流量,它看起来像是两次 POST 到/oauth/access_token。我第一次收到 200 响应,第二次收到 401。在这两者之间,它使用“GET/1/account/verify_credentials.json”方法成功获取经过身份验证的用户的用户信息。不明白为什么代码要第二次调用access_token方法。

在我的 config/initializers/devise.rb 文件中,我添加了:

config.omniauth :twitter, "consumer_key", "consumer_secret"

除了上面 Omniauth 概述页面中概述的其余代码。

我还在我的 OmniauthCallbacksController 中添加了一个“twitter”方法,但由于 401,它从未被调用。

如有任何帮助,我们将不胜感激。

最佳答案

尝试在 dev.twitter.com 上的应用程序设置中填充回调 URL。应该是这样的:

回调网址 http://yousite.com/auth/twitter/callback

关于ruby - Devise、Omniauth 和 Twitter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7086970/

相关文章:

twitter - 使用 Google Apps 脚本将推文发布到我的供稿

oauth - oAuth用来记住用户的标准是什么?

ruby - 如何在 Ruby 中从开始索引到最后选择字符串的一部分?

ruby-on-rails - 按名称获取 ActiveRecord 的属性

ruby-on-rails - 覆盖设备注册 Controller 时如何编写 Controller 测试?

testing - 使用 Cucumber & Devise gems 测试登录用户时,我是否必须每次都登录?

asp.net-mvc-4 - 在 MVC 中使用 oAuth 安排推文

ruby - 如何从字符串模式中解析 float

java - 按位加法在 Java 上有效,但在 Ruby 上失败

ruby-on-rails - Rails 上的 Ruby/设计 : Determining in model if user is logged in