Я создаю приложение, которое использует субдомены в качестве дескрипторов учетных записей (myaccount.domain.com), и мои сеансы настроены для работы на субдоменах, например:
config.action_controller.session = {:domain => '.domain.com'}
В дополнение к поддомену пользователь может ввести реальное доменное имя при создании своей учетной записи. Мой конфиг Nginx настроен так, чтобы следить за * .com * .net и т. Д., И это работает для раздачи страниц.
Проблема возникает, когда посетитель сайта отправляет форму комментария на пользовательский домен, который был введен пользователем. Код генерирует исключение "Invalid AuthenticityToken". Я на 99% уверен, что это потому, что домен, на котором находится пользователь, не указан как домен в config.action_controller.session. Таким образом, токен аутентификации не совпадает, потому что Rails не может найти свой сеанс.
Итак, вопрос таков: можете ли вы установить config.action_controller.session для более чем одного домена, и если да, можете ли вы добавить / удалить это значение во время выполнения, не перезапуская приложение?