ActionController :: InvalidAuthenticityToken和域名

时间:2014-05-07 01:23:59

标签: ruby-on-rails ruby-on-rails-4

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

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

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

它还会在 foo.bar.eu.com

上引发错误

更新

删除:

:domain => :all

来自:

MyApp::Application.config.session_store :cookie_store, key: '_my_session', :domain => :all

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

1 个答案:

答案 0 :(得分: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'
}

希望有所帮助