Firefox 中的 Rails csrf 验证

Ant*_*nin 5 ruby-on-rails csrf devise

我有一个使用 Rails 创建的站点,使用 Devise 进行身份验证。它在 Chrome 中工作得很好,但在 Firefox 中我无法登录。我只能看到日志中的一条消息: WARNING: Can't verify CSRF token authenticity 登录屏幕返回时没有任何错误消息。

有人可以给我提示在哪里查看正在发生的事情吗?

dra*_*vic 4

我有完全相同的问题。登录可以在 Chrome 中使用,但不能在 FF 中使用。该问题与 CSRF 无关,因为我注释掉protect_from_forgery并尝试登录,但不被允许。唯一的区别是警告消息消失了。

经过一些调试后,我发现问题与会话和会话存储的 :domain => :all 设置有关。

MyApp::Application.config.session_store :cookie_store, key: '_myapp_session', :domain => :all
Run Code Online (Sandbox Code Playgroud)

删除后:domain => all,我可以使用 Firefox 登录。希望这会对某人有所帮助,即使答案晚了两个月。