Come è possibile collegare Discourse con due provider OIDC?

Sono riuscito a connettere GitLab e Microsoft (Azure) con questo plugin. A proposito: per il servizio Azure AD, assicurati di utilizzare l’“Application Client ID” come ID client, non l’ID o il valore segreto).

Come è possibile connettere Discourse con due provider OIDC, ad esempio GitLab e Azure?

EDIT: Sono riuscito a far funzionare il login di GitLab con OAuth2, quindi la mia domanda è ora più “teorica”.

Penso che dovresti creare una fork del plugin e cambiarne il nome per poterlo configurare due volte. Forse potresti creare una fork e codificarlo per uno di quei servizi.

Vedo che il fork non è più appropriato da quando il plugin Open ID Connect è stato integrato nel core e il suo repository Git è stato archiviato.

Tuttavia, vorrei registrare due applicazioni (un’applicazione per tenant). Dato che ho già la registrazione dell’app di un tenant funzionante con il plugin Open ID Connect, posso inserire l’ID della seconda registrazione dell’app, il segreto e l’URL di discovery nelle impostazioni sottostanti?

Credo che la soluzione a questo titolo di argomento si trovi nel post precedente: non è necessario utilizzare due OIDC, ma piuttosto un OIDC e un Microsoft_auth.

microsoft_auth_email_verified non farebbe comportare Microsoft Auth come il flusso OIDC già configurato. La mia comprensione è che si limita a far sì che Discourse tratti le email fornite da Microsoft come verificate/affidabili per impostazione predefinita, il che può aiutare nell’associazione degli account ed evitare account duplicati se tali email sono effettivamente verificate:

Per quanto riguarda il testo del pulsante, OIDC si trova sicuramente nello spazio dei nomi testuale js.login.oidc:

Invece, Microsoft Auth sembra utilizzare lo spazio dei nomi di traduzione microsoft_office365 anziché oidc; ad esempio, questo rapporto di bug menziona en.login.microsoft_office365.name:

Quindi, ritengo che lo spazio dei nomi delle chiavi di testo rilevante per Microsoft Auth sia microsoft_office365, non oidc.