Como conectar Discourse com dois provedores OIDC?

Consegui conectar o GitLab e o Microsoft (Azure) com este plugin. Aliás: para o serviço Azure AD, certifique-se de usar o "Application Client ID" como ID do cliente, e não o ID secreto ou o valor).\n\nComo é possível conectar o Discourse com dois provedores OIDC, por exemplo, GitLab e Azure?\n\nEDIT: Consegui fazer o Login do GitLab funcionar com OAuth2, então minha pergunta agora é mais "teórica".

Eu acho que você precisaria fazer um fork do plugin e mudar seu nome para poder configurá-lo duas vezes. Talvez você pudesse fazer um fork e codificá-lo para um desses serviços.

Vejo que o fork não é mais tão adequado, já que o plugin OpenID Connect foi mesclado no núcleo e seu repositório Git foi arquivado.

No entanto, gostaria de registrar dois aplicativos (um aplicativo por locatário). Como já tenho o registro do aplicativo de um locatário funcionando com o plugin OpenID Connect, posso inserir o ID do segundo aplicativo, a senha e a URL de descoberta nas configurações abaixo?

Acredito que a solução para o título deste tópico esteja na postagem anterior — você não precisa usar dois OIDCs, mas sim um OIDC e um Microsoft_auth.

microsoft_auth_email_verified não faria com que o Microsoft Auth se comportasse como o fluxo OIDC já configurado. Pelo que entendi, isso apenas faz com que o Discourse trate os e-mails fornecidos pela Microsoft como verificados/confiáveis por padrão, o que pode ajudar no vínculo de contas ou na prevenção de contas duplicadas se esses e-mails forem realmente verificados:

Quanto ao texto do botão, o OIDC está definitivamente no namespace de texto js.login.oidc:

Já o Microsoft Auth parece usar o namespace de tradução microsoft_office365 em vez de oidc — por exemplo, este relatório de bug menciona en.login.microsoft_office365.name:

Portanto, acredito que o namespace de chave de texto relevante para o Microsoft Auth é microsoft_office365, e não oidc.