Rails, файлы cookie на основе субдоменов

У меня есть приложение rails, основанное на поддомене. Он также содержит REST API, к которому наши клиенты могут получить публичный доступ. У меня есть другое клиентское приложение, через которое я получаю доступ к REST API основного приложения.

Когда я получаю доступ к обоим приложениям в одном и том же браузере и вхожу в основное приложение, я не могу получить доступ к REST API другого поддомена в клиентском приложении, поскольку файлы cookie сохраняются в соответствии с доступом к домену.

Есть ли способ дифференцировать файлы cookie на основе субдомена.

Заранее спасибо.


person Srushti    schedule 25.05.2011    source источник


Ответы (1)


Вы должны установить домен файла cookie как .yourdomain.com, чтобы ваши файлы cookie были установлены для основного домена и для всех поддоменов.

Rails 3 в config/initializers/session_store.rb:

Rails.application.config.session_store :cookie_store, :key => '_my_key', :domain => ".yourdomain.com"

Rails 2.3+ в config/environment.rb:

config.action_controller.session = { :key => '_my_key', :domain => '.yourdomain.com' }
person Matteo Alessani    schedule 25.05.2011
comment
Забавно, что вы должны сказать это, потому что у нас есть именно те настройки, которые вы рекомендуете, но по какой-то причине иногда cookie сеанса устанавливается на example.com вместо .example.com. Я пытаюсь отладить, почему это происходит, поскольку я просмотрел код для вероятных подозреваемых и не нашел ни одного. Так как у нас уже есть настройки, которые вы предлагаете, что дальше? - person Ethan Heilman; 26.08.2011