# Как возможно подключить Discourse к двум провайдерам OIDC?

**URL:** https://meta.discourse.org/t/how-is-it-possible-to-connect-discourse-with-two-oidc-providers/304280
**Category:** SSO
**Tags:** openid-connect
**Created:** [14.Июнь.2023 20:14:09 UTC](https://meta.discourse.org/t/how-is-it-possible-to-connect-discourse-with-two-oidc-providers/304280 "2023-06-14T20:14:09Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![sebix1](https://avatars.discourse-cdn.com/v4/letter/s/bcef8e/32.png) [@sebix1](https://meta.discourse.org/u/sebix1)
#### Post date: [14.Июнь.2023 20:14:09 UTC](https://meta.discourse.org/t/how-is-it-possible-to-connect-discourse-with-two-oidc-providers/304280/1 "2023-06-14T20:14:09Z")

</div>

Мне удалось подключить GitLab и Microsoft (Azure) с помощью этого плагина. Кстати: для службы Azure AD убедитесь, что в качестве ID клиента используете «Application Client ID», а не секретный ID или его значение.

Как возможно подключить Discourse к двум провайдерам OIDC, например, к GitLab _и_ Azure?

РЕДАКТИРОВАНИЕ: Мне удалось настроить вход через GitLab с использованием OAuth2, поэтому мой вопрос теперь носит более «теоретический» характер.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [16.Июнь.2023 05:35:30 UTC](https://meta.discourse.org/t/how-is-it-possible-to-connect-discourse-with-two-oidc-providers/304280/2 "2023-06-16T05:35:30Z")

</div>

> [@sebix](#):
>
> Как можно подключить Discourse к двум провайдерам OIDC, например, к GitLab _и_ Azure?

По-моему, вам нужно будет сделать форк плагина и изменить его название, чтобы можно было настроить его дважды. Возможно, стоит сделать форк и «зашить» в код поддержку одного из этих сервисов.

---

<div class="post-metadata">

### Author: ![Ethsim2](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ethsim2/32/522255_2.png) [@Ethsim2](https://meta.discourse.org/u/Ethsim2)
#### Post date: [22.Апрель.2026 14:31:36 UTC](https://meta.discourse.org/t/how-is-it-possible-to-connect-discourse-with-two-oidc-providers/304280/3 "2026-04-22T14:31:36Z")

</div>

Я вижу, что форк больше не является подходящим решением, поскольку плагин OpenID Connect был включён в ядро, а его репозиторий Git был заархивирован.

Однако я хотел бы зарегистрировать два приложения (по одному на каждого арендатора). Поскольку у меня уже работает регистрация приложения одного арендатора с использованием плагина OpenID Connect, могу ли я указать идентификатор, секрет и URL обнаружения второго приложения в настройках ниже?

 ![IMG7154](https://global.discourse-cdn.com/meta/original/4X/2/b/d/2bdd8959d048f70b27c980de97a0df63da259e59.jpeg)

---

<div class="post-metadata">

### Author: ![Ethsim2](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ethsim2/32/522255_2.png) [@Ethsim2](https://meta.discourse.org/u/Ethsim2)
#### Post date: [25.Апрель.2026 08:06:47 UTC](https://meta.discourse.org/t/how-is-it-possible-to-connect-discourse-with-two-oidc-providers/304280/4 "2026-04-25T08:06:47Z")

</div>

Я считаю, что решение этой проблемы, обозначенной в заголовке темы, содержится в предыдущем посте — вам не нужно использовать два провайдера OIDC, достаточно одного OIDC и одного `Microsoft_auth`.

Параметр `microsoft_auth_email_verified` не заставит Microsoft Auth вести себя так же, как уже настроенный поток OIDC. Насколько я понимаю, он лишь заставляет Discourse считать электронные адреса, предоставленные Microsoft, по умолчанию подтверждёнными/надёжными, что может помочь при связывании учётных записей или предотвращении создания дубликатов, **если** эти адреса действительно подтверждены:

- [Аутентификация через Microsoft](https://meta.discourse.org/t/microsoft-authentication/51731)

Что касается текста кнопки, то OIDC однозначно находится в пространстве имён строк `js.login.oidc`:

- [Переименование текста кнопки OpenID и перенаправление на провайдера OpenID при входе](https://meta.discourse.org/t/renaming-openid-button-text-and-redirecting-to-openid-provider-when-logging-in/304282)

А Microsoft Auth, похоже, использует пространство имён переводов `microsoft_office365`, а не `oidc` — например, в этом отчёте об ошибке упоминается ключ `en.login.microsoft_office365.name`:

- [Плагин Microsoft 365 OAuth2 — проблемы с текстом](https://meta.discourse.org/t/microsoft-365-oauth2-plugin-text-problems/168692)

Таким образом, я считаю, что соответствующее пространство имён ключей текста для Microsoft Auth — это `microsoft_office365`, а не `oidc`.
