【问题标题】:Devise with omniauth-facebook "Invalid Credentials"使用omniauth-facebook“无效凭据”进行设计
【发布时间】:2011-12-09 12:11:46
【问题描述】:

我正在尝试通过 omniauth-facebook 与 Devise 一起使用 Facebook 身份验证,我已按照此处的说明进行操作:https://github.com/plataformatec/devise/wiki/OmniAuth%3a-Overview

当我使用 Facebook 链接登录时,我被重定向到 Facebook 以登录并接受请求的权限。

然后我被带回 /users/sign_in 并显示错误消息“无法从 Facebook 授权您,因为“凭据无效””

查看服务器日志,重定向来自“/users/auth/facebook/callback?code=[long text string]”,正在使用 Users::OmniauthCallbacksController#failure 而不是 Users::OmniauthCallbacksController#facebook 处理如果它奏效了,我会预料到的。

任何关于为什么会发生这种情况以及如何解决它的建议都非常感谢。

【问题讨论】:

  • 面临同样的问题,只有 部分 的用户得到了错误。
  • 我在更新omniauth 后遇到了同样的问题,但仅限于非隐身模式下的chrome。我自己的 facebook 用户在我的日常 chrome 中被拒绝,即使我试图清除它的 cookie 等。Safari、FF 和 chrome-incognito 工作正常。 (我还没发布,不知道其他用户有没有这个问题)

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


【解决方案1】:

好的,我遇到了同样的问题。我的原因原来是我在 config/initializers/devise.rb 中定义了这一行:

config.omniauth :facebook ...

应用 ID 和应用密码是为我的测试 Facebook 应用和生产应用定义的。修复那些 id:s 现在解决了问题。

【讨论】:

  • 你是如何修复这些 id 的?
【解决方案2】:

facebook 将协议从 oauth 更改为 oauth2 凭据(id、token、name..)现在打包到一个哈希中的主要区别。你应该解析。

【讨论】:

  • 根据omniauth-facebook github页面,支持oauth2
猜你喜欢
  • 2016-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-09
  • 2011-06-21
  • 2014-05-23
  • 2012-03-05
  • 1970-01-01
相关资源
最近更新 更多