Вся информация, которую я нашел в Интернете об этом, говорит, что нужно использовать что-то вроде
Login::Application.config.session_store :cookie_store, :key => '_login_session', :domain => '.domain.com'
И использовать один и тот же ключ для всех поддомены, которыми я хочу поделиться в этом сеансе. Когда я это делаю, аутентификация между поддоменами не проходит. Фактически, когда я посещаю любой из предположительно разделяемых сеансов, начальный сеанс перезаписывается
, т.е. на login.domain.com я запускаю аутентификацию, которая возвращает имя пользователя и сеанс user_id. Затем я перехожу на sub.domain.com, который должен возвращать ту же информацию, что и login.domain.com, но не возвращает. После этого я возвращаюсь на login.domain.com, и там я тоже больше не аутентифицируюсь.
На sub.domain.com файл session_store.rb выглядит так:
Something::Application.config.session_store :cookie_store, :key => '_login_session', :domain => '.domain.com'
Я также использовал: all для значения: domain с тем же результатом. И если я удалю параметр: domain из приведенного выше, тогда начальный сеанс не будет перезаписан, но он также не станет общим.
Когда я смотрю на файлы cookie в Редакторе файлов cookie для Firefox, оба поддомена используют одинаковые имя файла cookie, но аутентификация не передается. Это довольно простая таблица Users, и я использую OpenID и OAuth для аутентификации с помощью Omniauth