Discourse OpenID Connect (OIDC)

Привет!

Мы используем плагин аутентификации OpenID Connect с установкой Discourse на AWS.
Мы развернули контейнеры Discourse, Discourse Sidekiq и Redis (на базе Bitnami, но, пожалуйста, не выгоняйте меня из сообщества ;)). База данных работает на AWS RDS. Мы используем KeyCloak.

Всё работает.

Однако иногда после перезапуска задачи Discourse на AWS возникает ситуация, когда система считает, что документ обнаружения (Discovery document) находится в кэше, но на самом деле его там нет. При этом она не пытается повторно получить его из KeyCloak:

OIDC Log: Discovery document loaded from cache
OIDC Log: Discovery document is
---
(oidc) Request phase initiated.
(oidc) Authentication failure! openid_connect_discovery_error: OmniAuth::OpenIDConnect::DiscoveryError, Discovery document is missing

В веб-приложении я вижу сообщение: «Не удалось получить конфигурацию от провайдера идентификации. Пожалуйста, попробуйте снова».

Что вы можете посоветовать?

2 лайка