2

我在将 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 进行身份验证,但是当它返回时.. 我的本地应用程序上的日志如下:

OmniauthCallbacksController#failure 处理为 HTML 参数:{"oauth_token"=>"A VALID AUTH TOKEN", "oauth_verifier"=>"A VALID TOKEN"} 重定向到我的本地 URL

有人对为什么会发生这种情况有任何建议吗?

4

1 回答 1

0

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

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

于 2013-04-09T22:01:15.397 回答