Я только что настроил экземпляр Discourse и добавил в него плагин discourse-openid-connect, подключив Keycloak в качестве провайдера OIDC.
После выполнения трёх условий, указанных здесь, в последней версии я наблюдаю следующее поведение: при аутентификации через Keycloak, если пользователь уже вошёл в систему, нажатие кнопки «Войти» приводит к предложению «Создать новую учётную запись», где поля заполняются данными из Keycloak о пользователе.
Есть ли способ пропустить этот шаг, требующий дополнительных действий от пользователя? Эти поля и так автоматически заполняются данными из Keycloak, поэтому нет необходимости заставлять пользователя их изменять специально для Discourse.
Создание учётной записи должно происходить неявно, аналогично тому, как это реализовано в Grafana? Моя цель — чтобы каждый сервис, предоставляемый сообществом, поддерживал такой бесшовный опыт: пользователю достаточно иметь только одну учётную запись сообщества, с которой он зарегистрировался.
Это может показаться нелогичным, если рассматривать внешние методы аутентификации, такие как Google, Facebook, GitHub и т. д. Пользователь может зарегистрировать учётную запись сообщества через Keycloak, используя один из этих провайдеров, но сам Keycloak, который используется только внутри организации, должен работать со всеми отдельными сервисами. Поэтому неявное/автоматическое согласие и регистрация являются желательными.