Сессия истекла

Продолжение: Cloudflare cookie: CF_Authorization

Мы используем Microsoft SSO для входа, интегрированный с OpenID Connect. Когда пользователи нажимают на ссылку форума, они перенаправляются в систему входа Microsoft, поэтому кнопка входа на форуме не отображается.

Также мы используем Cloudflare поверх форума, который включает куки-сессии.

Мы сталкиваемся с двумя проблемами:

  1. Когда сессия куки _t в Discourse истекает, пользователей перенаправляет на страницу ошибки.

  2. Когда сессия куки авторизации Cloudflare истекает, пользователей перенаправляет на страницу ошибки.

В обоих случаях пользователей перенаправляют на domain_url/exception.

Моя цель — автоматически перезагружать форум при возникновении таких ситуаций. Это обеспечит либо перенаправление пользователей на вход через Microsoft, либо обновление куки в соответствии с SSO.

Если у кого-то есть альтернативные решения, пожалуйста, поделитесь.

Я попробовал следующий скрипт:

<script>
window.addEventListener('error', function (event) {
     window.open(url, '_self');
}, true);
</script>

Хотя он работает, процесс не плавный: пользователь видит страницу ошибки, и перезагрузка страницы занимает время.

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

1 лайк