Я прочитал кучу вопросов SO относительно совместного использования переменных сеанса между поддоменами, но я не могу заставить его работать. В настоящее время у меня есть следующий инициализатор для 2 разных приложения.
# App 1: hosted at new.domain_name.com
if Rails.env.development?
Rails.application.config.session_store :cookie_store, key: '_your_app_session'
else
Rails.application.config.session_store :cookie_store, key: '_your_app_session', domain: "domain_name.com"
end
# App 2: hosted at www.domain_name.com
if Rails.env.development?
Rails.application.config.session_store :cookie_store, key: '_your_app_session'
else
Rails.application.config.session_store :cookie_store, key: '_your_app_session', domain: "domain_name.com"
end
Это как вы его настроили, где domain_name.com
- это указанный домен в вашем файле конфигурации?
Когда я вхожу в одно приложение, другое не знает. Имеет ли какое-то отношение к этому тот факт, что это два разных приложения? Нужно ли мне что-нибудь менять, чтобы токен можно было расшифровать?
@Muhammet, как получить доступ к пользователю из значения, которое сохраняется в session_store
. Моя ценность не дает мне никакой информации, кроме session_id
Мы используем devise gem. Итак, current_user возвращает зарегистрированного пользователя.
а можно использовать current_user
в разных доменах? Мой не узнает, что есть current_user
, и я подумал, что могу использовать этот session_id
, чтобы отследить его.
Можете попробовать сделать это с моей конфигурацией в session_store.rb?
Мы используем один и тот же сеанс между двумя приложениями. Вот наш session_store.rb Rails.application.config.session_store: cookie_store, ключ: "_ourapp _ # {Rails.env}", домен:: all, tld_length: 2