【发布时间】:2011-01-07 00:41:50
【问题描述】:
我的 Facebook 今天刚刚获得批准。但是,当我单击“转到应用程序”时,它返回 Rail 422“您想要的更改被拒绝。错误”我将 Canvas URL 设置为我的站点 URL,并且我正在使用 Omniauth,所以我只是想知道我错过了什么.
【问题讨论】:
标签: ruby-on-rails facebook omniauth
我的 Facebook 今天刚刚获得批准。但是,当我单击“转到应用程序”时,它返回 Rail 422“您想要的更改被拒绝。错误”我将 Canvas URL 设置为我的站点 URL,并且我正在使用 Omniauth,所以我只是想知道我错过了什么.
【问题讨论】:
标签: ruby-on-rails facebook 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,您可以解码并使用它来验证请求是否确实来自 facebook,因此对于只能通过 facebook 画布访问的应用程序来说,protect_from_forgery 是不必要的。
更多:Canvas Authentication & ActionController::RequestForgeryProtection
【讨论】:
Facebook 的omniauth 错误“您想要的更改被拒绝” 由于您在模型中设置了验证,可能会出现。我必须为拥有唯一电子邮件的用户重构我的验证,当用户尝试使用同一电子邮件登录 Facebook 时,该验证不起作用。
查看您的日志。 heroku logs -t
【讨论】: