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:
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: