Иногда всплывает сообщение «Вы вышли из системы»

У нас возникла проблема с поддержанием входа пользователя.

  1. Мы подключаем Discourse к нашему приложению через SSO.
  2. Успешный вход и перенаправление в Discourse.
  3. Нажимаем на любую доску.
  4. Появляется всплывающее окно «Вы были разлогинены».

Наши предположения:
Значение _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), и посмотрите, решит ли это проблему.

@RGJ Спасибо за ответ.

Это немного странно — у нас работают три окружения с одной и той же версией (3.5.0.beta1), но эта проблема возникает только в продакшн-окружении. Два других окружения (разработки и тестирования) работают нормально, поэтому я не думаю, что проблема связана с версией.

Интересует, это первый раз, когда сообщается об этой проблеме? Были ли подобные сообщения в прошлом?

Чтобы исключить это, сначала следует обновиться.
Кроме того, в beta1 обнаружено множество уязвимостей безопасности, так что вам всё равно стоит это сделать :wink: