ActionController :: InvalidAuthenticityToken和域名

cma*_*n77 8 ruby-on-rails ruby-on-rails-4

我发现使用诸如foo.bar.uk.com之类的域会导致在提交任何表单时Rails抛出ActionController::InvalidAuthenticityToken.

foo.bar.co.ukfoo.bar.co.com工作,但由于某种原因foo.bar.uk.com抛出错误.

某处是否有可接受的域/ TLD列表?

它还会在foo.bar.eu.com上抛出错误

更新:

删除:

:domain => :all
Run Code Online (Sandbox Code Playgroud)

从:

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

允许表单提交,但它不修复登录(即其他cookie相关的功能).

mat*_*sdh 1

当您的项目部署在包含多个 TLD 的域中时,Rails 会感到困惑。在 Rails 3 中,如果这就是您使用的,则必须更改文件 config/initializers/session_store.rb。

Rails.application.config.session_store :cookie_store, {
  key: 'YOUR KEY, THIS VALUE IS ALREADY DEFINED',
  domain: '.co.uk'
}
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你