ruby-on-rails - 与 Omniauth 一起设计。无法验证,因为 "Invalid credentials"。”

标签 ruby-on-rails ruby ruby-on-rails-3 devise omniauth

我在将 Devise 与 Omniauth 提供商集成时遇到了问题。我在外部服务器上设置了 Doorkeeper,但是当它返回到我用 pow 设置的本地应用程序时,它返回了无效的凭据。

为了调试,我现在决定只关注 twitter 身份验证——这在我的本地 Rails 应用程序中似乎也失败了。

我一直在关注这个 railscast:http://railscasts.com/episodes/235-devise-and-omniauth-revised (仍然没有运气)- 因为我已经尝试与 Twitter 集成,但仍然没有运气。

我已经创建了一个 Omniauth 初始化器:

Rails.application.config.middleware.use OmniAuth::Builder do provider :twitter, "my twitter app id", "My Twitter secret" end

在我的设计初始化器中:

config.omniauth :twitter, ENV["TWITTER_CONSUMER_KEY"], ENV["TWITTER_CONSUMER_SECRET"]

我已经告诉配置好的设计了

:omniauthable

我的应用程序成功访问 twitter 进行身份验证,但是当它返回时......我本地应用程序的日志如下:

Processing by OmniauthCallbacksController#failure as HTML Parameters: {"oauth_token"=>"A VALID AUTH TOKEN", "oauth_verifier"=>"A VALID TOKEN"} Redirected to My local URL

有人对发生这种情况的原因有什么建议吗?

最佳答案

确保在您的 Devise 设置结束时有一个范围

config.omniauth :twitter, 'ID', 'SECRET', {:scope => 'offline_access,email'}

关于ruby-on-rails - 与 Omniauth 一起设计。无法验证,因为 "Invalid credentials"。”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15000978/

相关文章:

ruby-on-rails - Rails 路由顶层路由和信息架构

html - 自定义 collection_check_boxes

mysql - where() 事件记录查询的语法错误

ruby-on-rails - Ruby:将时间和星期几应用于日期时间

ruby-on-rails - Rails 未定义方法 `id'

ruby-on-rails - 意外的 keyword_end,期望输入结束

ruby-on-rails - Windows/Ruby/Rails 安装 --- .cannot load such file -- sqlite3/sqlite3_native windows

ruby-on-rails - Rails/Nginx 不提供 JS 和 CSS

ruby - Ruby 是否支持没有第三方库的非阻塞 HTTP 请求?

ruby-on-rails-3 - 基于 DataMapper 模板的 Rails 3 项目中缺少 `test` rake 任务