У нас возникла проблема с поддержанием входа пользователя.
Мы подключаем Discourse к нашему приложению через SSO.
Успешный вход и перенаправление в Discourse.
Нажимаем на любую доску.
Появляется всплывающее окно «Вы были разлогинены».
Наши предположения:
Значение _forum_session в хранилище сессий (Session Storage) постоянно меняется при клике на доску.
Поэтому предыдущий ключ сессии и вновь сгенерированный ключ сессии иногда не совпадают.
Как управлять значением _forum_session? Или как контролировать порядок генерации _forum_session?
Что вызывает появление этого всплывающего окна?
версия: 3.5.0.beta1
тип развертывания: self-hosted
тип входа: Discourse SSO Connect
Всем привет,
В настоящее время я запускаю экземпляр Discourse с самостоятельным размещением в нашей инфраструктуре.
Всё работает нормально до момента входа через метод Discourse SSO Connect (мы используем собственный сервер учетных записей для аутентификации).
Однако мы столкнулись с проблемой: во время выполнения поиска случайно появляется всплывающее окно «Вы вышли из системы».
Это происходит только в production-окружении — в development или staging такой проблемы нет.
Мы не вносили никаких изменений в исходный код с открытой лицензией Discourse.
Мы предполагаем, что cookie _forum_session должен обновляться при каждом API-вызове, но по какой-то причине это обновление не происходит в production. В результате текущий cookie сессии становится недействительным, что приводит к выходу из системы.
Если кто-то сталкивался с подобной проблемой или имеет представление о том, что происходит, буду очень признателен за помощь.
Хотел бы понять, в каких случаях обновление forum_session может не сработать. Судя по всему, оно обновляется каждый раз, когда я захожу на страницу, благодаря заголовку Set-Cookie в ответе. Мы не меняли связанную логику, поэтому не понимаю, почему иногда обновление не происходит.
Нет необходимости создавать новую тему, если она уже существует (предполагаю, что речь идет об одном и том же сайте).
Вы не обновляли сайт более 4,5 месяцев — пожалуйста, начните с обновления вашего сайта до последней версии, прошедшей тесты (3.5.0.beta8-dev), и посмотрите, решит ли это проблему.
Это немного странно — у нас работают три окружения с одной и той же версией (3.5.0.beta1), но эта проблема возникает только в продакшн-окружении. Два других окружения (разработки и тестирования) работают нормально, поэтому я не думаю, что проблема связана с версией.
Интересует, это первый раз, когда сообщается об этой проблеме? Были ли подобные сообщения в прошлом?
Чтобы исключить это, сначала следует обновиться.
Кроме того, в beta1 обнаружено множество уязвимостей безопасности, так что вам всё равно стоит это сделать