【问题标题】:devise + omniauth auth/failure?message=invalid_credentials设计+omniauth auth/failure?message=invalid_credentials
【发布时间】:2011-05-11 07:04:03
【问题描述】:

当我在 twitter (/auth/twitter) 中请求身份验证时,我在 twitter 中添加了一个应用程序后,我收到了这些错误消息

http://localhost:3000/auth/failure?message=invalid_credentials

Routing Error

No route matches "/auth/failure"

我怎样才能添加一个有效的凭据,或者是否有任何 ssl 证书必须包含在请求 twitter auth 时??

在我添加了一个看起来像这样的参数 ssl 证书后,我的 facebook 身份验证工作正常

 Rails.application.config.middleware.use OmniAuth::Builder do
      provider :facebook,'xxx', 'xx', { :scope => 'publish_stream,offline_access,email',:client_options => { :ssl =>{ :ca_path => "/etc/ssl/certs" } }}

      provider :twitter, 'xx','xxx' #,{ :client_options => { :ssl =>{ :ca_path => "/etc/ssl/certs" } }}
end

【问题讨论】:

  • 从 twitter 重新检查您的 api 密钥

标签: ruby-on-rails devise omniauth


【解决方案1】:

我和你有同样的问题,这是因为 twitter 登录中的 oauth_token 仅在一次请求时有效。可能是您的应用程序在向 twitter 进行身份验证时尝试刷新。

当我遇到像你这样的问题时,我的应用程序会尝试使用

刷新网页
window.opener.location = "#{request.fullpath}";

到目前为止,我还没有找到使用 twitter 登录时如何弹出窗口的方法。我正在使用omniauth 和rails 3.0.3。谢谢

【讨论】:

    【解决方案2】:

    这就是你所需要的

    网站网址http://localhost:3000/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-20
      • 2012-10-22
      • 2018-10-06
      • 1970-01-01
      相关资源
      最近更新 更多