我正试图通过omniauth-facebook让Devise与Devise合作,我按照这里的说明进行操作: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 as如果有效的话我会期待的。
关于为什么会发生这种情况以及如何解决这个问题的任何建议都非常感激。
答案 0 :(得分:4)
好的,我遇到了同样的问题。我原因是我在 config / initializers / devise.rb 中定义了这一行:
config.omniauth :facebook ...
应用程序ID和应用程序机密是为我的测试Facebook应用程序定义的,并为生产应用程序定义。修复那些id:s现在修复了问题。
答案 1 :(得分:0)
facebook将协议从oauth更改为oauth2 凭证(id,token,name ..)现在打包成一个哈希的主要区别。你应该解析。