【发布时间】:2011-08-17 01:17:34
【问题描述】:
我正在开发一个使用 devise 和omniauth 并遵循https://github.com/plataformatec/devise/wiki/OmniAuth%3A-Overview 中给出的示例的Rails 3 应用程序,它适用于Facebook 帐户,但是当我尝试添加Twitter auth 时,我得到一个“401 Unauthorized”响应.为了追踪问题,我将 api.twitter.com 的 URL 切换为 http 并转储网络流量,看起来它正在向 /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,它永远不会被调用。
任何帮助将不胜感激。
【问题讨论】:
-
您是否在 OmniauthCallbacksController 中检查了您的 twitter 功能?如果有错误,devise 将抛出无效响应错误,您可以尝试在控制器中通过 render :text => env["omniauth.auth"] 转储响应
标签: ruby devise twitter-oauth omniauth