Rails 3.2 + Facebook auth + CSRF FAILURE

tes*_*akt 5 ruby-on-rails heroku facebook-oauth

这是我在尝试通过Facebook登录时看到的错误,我总是看到错误.似乎无法摆脱它:

无法通过Facebook授权您,因为"Csrf已检测到".

我把一个跳过:

skip_before_filter :verify_authenticity_token
Run Code Online (Sandbox Code Playgroud)

在Omniauth回调,但我仍然得到错误.这是在本地和prod(heroku)环境中.我已经设置了heroku环境变量.任何的想法?

小智 7

我在同一天遇到了同样的问题!! 我认为这是一个宝石更新或类似的东西,但根本没有.通过深度调试,我发现omniauth"回调阶段已启动".被叫了两次.

这是由于愚蠢的双重初始化

提供者:facebook,.....

一个在config/initializers/devise.rb和另一个初始化程序中.

我希望它会给你一个提示,找出你的错误


tes*_*akt 6

我发现问题是宝石太新了并且将STATE标题传递给了facebook,这是fb不想要的.我推出了omniauth-facebook宝石版本,它起作用了

  • 我有同样的问题,将omniauth-facebook降级到1.4.0解决了这个问题. (4认同)