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

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

尝试删除

protect_from_forgery 

在application_controller中,或

 # you can disable csrf protection on controller-by-controller basis: skip_before_filter :verify_authenticity_token 

Facebook使用signed_request,您可以解码并使用它来validation请求实际来自Facebook,因此对于只能通过Facebookcanvas访问的应用程序,protect_from_forgery是不必要的。

更多信息: Canvas Authentication & ActionController :: RequestForgeryProtection

由于您在模型中设置了validation,可能会出现Facebook的omniauth错误“您想要的更改被拒绝” 。 我不得不为有一个唯一电子邮件的用户重构我的validation,当用户尝试使用相同的电子邮件登录时,该电子邮件无效。

看看你的日志。 heroku logs -t