这是我在尝试通过 facebook 登录时看到的错误,我总是看到该错误。似乎无法摆脱它:
无法从 Facebook 授权您,因为“检测到 Csrf”。
我放了一个跳过:
skip_before_filter :verify_authenticity_token
在 Omniauth 回调上,但我仍然收到错误消息。这在本地和 prod (heroku) 环境中都是如此。我已经设置了heroku环境变量。任何的想法?
这是我在尝试通过 facebook 登录时看到的错误,我总是看到该错误。似乎无法摆脱它:
无法从 Facebook 授权您,因为“检测到 Csrf”。
我放了一个跳过:
skip_before_filter :verify_authenticity_token
在 Omniauth 回调上,但我仍然收到错误消息。这在本地和 prod (heroku) 环境中都是如此。我已经设置了heroku环境变量。任何的想法?
我在同一天遇到了同样的问题!!我认为这是一个宝石更新或类似的东西,但根本不是。通过深入调试,我发现omniauth“回调阶段已启动”。被叫了两次。
这是由于愚蠢的双重初始化
提供者:脸书,......
一个在 config/initializers/devise.rb 和另一个初始化器中。
我希望它会给你一个提示来找到你的错误
我发现问题在于 gem 太新并且将 STATE 标头传递给 facebook,这是 fb 不想要的。我回滚了omniauth-facebook gem版本,它工作了
您是否发送 p3p 标头可能会添加...
before_filter :set_p3p
private
def set_p3p
headers['P3P'] = 'CP="ALL DSP COR CURa ADMa DEVa OUR IND COM NAV"'
end
到您的应用程序控制器