Rails: how can I share permanent cookies across mu

2020-02-28 23:52发布

问题:

My app's register and login processes take place on a secure subdomain. For this reason, I have modified config/initializers/session_store.rb to look like

if Rails.env.production?
  AppName::Application.config.session_store :cookie_store, :key => '_app_name_session', :domain => '.app_name.com'
else
  AppName::Application.config.session_store :cookie_store, :key => '_app_name_session'
end

so that the session can be shared across sub domains.

How can I share permanent cookies accross subdomains so that when I set a permanent cookie on one subdomain via cookies.permanent[:some_key] = 'some value', I can access that cookie on another subdomain via cookies[:some_key]?

回答1:

You need to specify the domain using a more verbose cookie setting method:

cookies[:some_cookie] = {
  :value => "whatever",
  :domain => ".app_name.com",
  :expires => 1.year.from_now.utc
}

I haven't found a configuration setting to do this globally yet.