サブドメインでCookieを共有するRails3の設定
Yahoo!やはてなは各サービスごとにサブドメインでアクセスしますが、どうやってセッション維持してるのかなと思い、サブドメインにCookieを渡す方法を調べたところ
CookieのDomain属性にDomain=.mydomain.comの様に指定すれば良いんですね。
Rails 3での設定を調べてみました。
Cookieの設定のデフォルト値はconfig/initializers/session_store.rbで設定できます。
「domain:」に「.mydomain.com」の様に設定すると、a.mydomain.comのクッキーがb.mydomain.comにも渡ります。
Rails.application.config.session_store :cookie_store, :key => '_app_session', :domain => '.mydomain.com'
コントローラーなどで指定する場合はこんな感じ。
cookies[:cookie_name] = {:value => "sub domain cookie", :domain => '.mydomain.com' }