Ruby on Rails: Одновременная обработка файлов cookie уровня домена и поддомена

#ruby-on-rails #session #cookies #dns #subdomain

Вопрос:

В среде, где очень большое онлайн-приложение/Интернет разделено на поддомены:

  • app1.mydomain.com
  • app2.mydomain.com

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

Однако для сохранения определенных данных во всех приложениях, таких как поставщик сеансов и информация об учетной записи в среде с несколькими входами с одним входом, было бы полезно также хранить файлы cookie сеанса/получать доступ к ним на уровне домена:

  • mydomain.com

Каков был бы наилучший подход для одновременной обработки файлов cookie на уровне домена и поддомена в Ruby on Rails? Одной из проблем также может быть то, что этот файл cookie уровня домена должен быть зашифрован одним и тем же хэшем во всех приложениях/поддоменах, что можно сделать, но не полностью интегрируется с дизайном сеанса Rails, если только все приложения не используют свой секретный токен.

Лучшее, что я мог придумать, — это использовать обработчик сеанса Rails по умолчанию для файлов cookie поддоменов и вручную создать обработчик файлов cookie на уровне домена, однако было бы здорово иметь возможность использовать session его, domain_session поскольку он предназначен для более простого использования, хотя это не распространенная проблема.

Комментарии:

1. Рассматривали ли вы вместо этого аутентификацию как сервисный подход, при котором приложения поддомена запрашивают api службы (с помощью токена), чтобы получить эту информацию вместо общего файла cookie? Я бы беспокоился о тесных связях, которые вы здесь создаете.

2. уже используется аутентификация в качестве сервисного подхода (единый вход). Проблема в том, что теперь нам необходимо реализовать несколько общих служб, включая нестандартные общие службы, и при переключении мы не будем знать, в какую единую систему вошел пользователь.