我在将 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/