Ciao! @david aiutami per favore, grande uomo! ))))
Ho configurato con successo il pacchetto plugin Discourse + Keycloak SSO + SAML + Openid Connect. C’è solo una cosa che offusca questa bellezza: l’logout.
Effettuo l’logout dal forum, l’utente viene disautorizzato; questa parte funziona correttamente.
Poi controllo le sessioni attive su Keycloak: la sessione dell’utente che ha effettuato l’logout dal forum non viene eliminata.
Sospetto che ciò sia dovuto alle impostazioni dell’URL di logout. Non so solo dove trovarle: su Discourse o su Keycloak.
Sì! Funziona perfettamente! Vorrei chiarire che è necessario impostare la variabile openid_connect_rp_initiated_logout_redirect.
@david Ho un’altra domanda. Una domanda importante.
Attualmente sono nelle fasi finali di test di Keycloak SSO e devo scegliere un protocollo: SAML o OpenID Connect.
Mi è piaciuto di più OpenID Connect, ma al momento ho riscontrato un problema fastidioso nella creazione di nuovi utenti quando si utilizza OpenID Connect.
Per comprendere il problema, partirò dall’altro lato. Quando un nuovo utente del forum viene creato tramite SAML, l’utente viene creato nel sistema SSO e trasmesso in modo trasparente per la creazione in Discourse. Viene immediatamente attivato: questo è importante!
Cioè, quando faccio clic su “Iscriviti” nel forum Discourse, vado su Keycloak, dove creo un utente, confermo la sua email, ecc. Dopo di ciò, vengo reindirizzato al forum Discourse, dove l’utente è già stato creato e ATTIVATO automaticamente:
Questo è estremamente scomodo! A cosa serve? Dopotutto, l’email dell’utente è già stata confermata durante la creazione dell’account su SSO. C’è qualche modo per eliminare questa finestra?
Se quel messaggio viene visualizzato per OpenID Connect, significa che il provider di identità ha passato un messaggio email_verified: false a Discourse. Se abiliti l’impostazione di debug verboso, verrà stampato tutto il dato di autenticazione in /logs per essere esaminato. Speriamo ci sia un modo per dire a Keycloak di passare correttamente lo stato di verifica.
Finché sei sicuro al 100% che Keycloak abbia verificato gli indirizzi email, va bene. Se gli indirizzi email non sono verificati, farlo esporrà il tuo sito Discourse agli attaccanti.
Non sono molto familiare con Keycloak, ma entrambe le opzioni mi sembrano valide. Se in futuro vorrai avere controlli di accesso separati per ogni forum, averli come client distinti potrebbe rendere tutto più semplice