我的脸书今天刚刚获得批准。然而,当我点击“转到应用程序”时,它返回Rail 422“您想要的更改被拒绝。错误”我将我的Canvas URL设置为我的网站URL并且我正在使用Omniauth,所以我只是想知道我错过了什么
答案 0 :(得分:11)
尝试删除
protect_from_forgery
在application_controller中,或
# you can disable csrf protection on controller-by-controller basis:
skip_before_filter :verify_authenticity_token
Facebook使用signed_request,你可以解码并使用它来验证请求是否真的来自facebook,因此对于只能通过facebook画布访问的应用程序来说,protect_from_forgery是不必要的。
更多信息:Canvas Authentication& ActionController::RequestForgeryProtection
答案 1 :(得分:0)
Facebook的omniauth错误“你想要的改变被拒绝了” 可能因为您在模型中设置的验证而出现。我不得不为有一个唯一电子邮件的用户重构我的验证,当用户尝试使用相同的电子邮件登录时,该电子邮件无效。
查看您的日志。 heroku logs -t