Rails facebook app返回422“你想要的改变被拒绝”错误

时间:2011-01-07 00:41:51

标签: ruby-on-rails facebook omniauth

我的脸书今天刚刚获得批准。然而,当我点击“转到应用程序”时,它返回Rail 422“您想要的更改被拒绝。错误”我将我的Canvas URL设置为我的网站URL并且我正在使用Omniauth,所以我只是想知道我错过了什么

2 个答案:

答案 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