Мне удалось подключить GitLab и Microsoft (Azure) с помощью этого плагина. Кстати: для службы Azure AD убедитесь, что в качестве ID клиента используете «Application Client ID», а не секретный ID или его значение.
Как возможно подключить Discourse к двум провайдерам OIDC, например, к GitLab и Azure?
РЕДАКТИРОВАНИЕ: Мне удалось настроить вход через GitLab с использованием OAuth2, поэтому мой вопрос теперь носит более «теоретический» характер.
По-моему, вам нужно будет сделать форк плагина и изменить его название, чтобы можно было настроить его дважды. Возможно, стоит сделать форк и «зашить» в код поддержку одного из этих сервисов.
Я вижу, что форк больше не является подходящим решением, поскольку плагин OpenID Connect был включён в ядро, а его репозиторий Git был заархивирован.
Однако я хотел бы зарегистрировать два приложения (по одному на каждого арендатора). Поскольку у меня уже работает регистрация приложения одного арендатора с использованием плагина OpenID Connect, могу ли я указать идентификатор, секрет и URL обнаружения второго приложения в настройках ниже?
Я считаю, что решение этой проблемы, обозначенной в заголовке темы, содержится в предыдущем посте — вам не нужно использовать два провайдера OIDC, достаточно одного OIDC и одного Microsoft_auth.
Параметр microsoft_auth_email_verified не заставит Microsoft Auth вести себя так же, как уже настроенный поток OIDC. Насколько я понимаю, он лишь заставляет Discourse считать электронные адреса, предоставленные Microsoft, по умолчанию подтверждёнными/надёжными, что может помочь при связывании учётных записей или предотвращении создания дубликатов, если эти адреса действительно подтверждены:
А Microsoft Auth, похоже, использует пространство имён переводов microsoft_office365, а не oidc — например, в этом отчёте об ошибке упоминается ключ en.login.microsoft_office365.name: