出于某种原因,我的应用程序无法登录firefox。虽然所有标记都存在并成功提交,但它会抛出CSRF错误。登录也适用于任何其他浏览器。
我找到了一个引用改变的答案:
Learn::Application.config.session_store :cookie_store, key: '_learn_session', domain: :all
到
Learn::Application.config.session_store :cookie_store, key: '_learn_session'
config/initializers/session_store.rb
中的
我已尝试过两者(最初没有domain: :all
),但似乎都没有效果。
This question引用了我的问题,但答案对我的情况没有帮助。
为了使情况更加复杂,我在没有启用CSRF的情况下进行了测试,该应用程序只是在没有失败通知的情况下阻止登录。
任何帮助将不胜感激。
答案 0 :(得分:1)
你有没有检查过你的cookie?
我今天早些时候遇到了同样的问题,结果证明我的cookie配置存在问题。由于您的应用程序在没有启用CSRF的情况下仍无法运行,我认为您的login_controller或session_store都有错误。小心阅读session_store.rb
和your_environment.rb
,也许你可以找到错误。
答案 1 :(得分:0)
哇。我设法再次这样做了(请参阅Tim的回答评论),所以我真的把这个答案写给了我未来的自我。具体来说,Firefox已经阻止了来自localhost的cookie。
如果我取消阻止cookie,一段时间后Firefox会自动阻止它们,要求它们被解除阻止。我还不清楚为什么会发生这种情况,但至少可以解决这个问题(Chrome)。