Provisioning automatico degli account utente quando SSO è abilitato

:bookmark: Questa guida spiega come eseguire il provisioning automatico degli account utente in Discourse quando è abilitato un provider di autenticazione esterno, in modo che gli utenti vengano creati automaticamente senza visualizzare una pagina di registrazione.

:person_raising_hand: Livello utente richiesto: Amministratore

Provisioning automatico degli account utente con autenticazione esterna

Quando colleghi Discourse a un provider di identità esterno tramite DiscourseConnect, il plugin OpenID Connect, il plugin OAuth2 Basic, SAML o un altro provider di autenticazione, Discourse crea gli account utente al primo accesso. Per impostazione predefinita, viene visualizzata una pagina di registrazione prima di creare l’account, anche quando il provider ha già fornito tutti i dettagli richiesti (email, nome utente e nome).

Il provisioning automatico elimina questo passaggio aggiuntivo. Con le impostazioni corrette abilitate, Discourse crea l’account in background in modo silenzioso e effettua l’accesso dell’utente direttamente, offrendo un’esperienza senza interruzioni.


Abilitazione del provisioning automatico

Per saltare il passaggio di registrazione, è necessario abilitare l’impostazione del sito auth_skip_create_confirm. Questa impostazione si trova in Amministratore > Tutte le impostazioni del sito > Pagina di accesso.

Opzionale: abilitazione delle impostazioni di override

Queste impostazioni indicano a Discourse di fidarsi dei valori forniti dal provider di identità e di utilizzarli direttamente, senza chiedere all’utente di revisionarli. Vai su Amministratore > Tutte le impostazioni del sito > Pagina di accesso e verifica quanto segue:

Impostazione Descrizione
auth_overrides_username Utilizza il nome utente dal provider direttamente ad ogni accesso e impedisce all’utente di modificarlo localmente. Si applica a tutti i provider di autenticazione.
auth_overrides_email Utilizza l’email dal provider direttamente ad ogni accesso e impedisce all’utente di modificarla localmente. Si applica a tutti i provider di autenticazione.
auth_overrides_name Utilizza il nome completo dal provider direttamente ad ogni accesso e impedisce all’utente di modificarlo localmente. Si applica a tutti i provider di autenticazione.
auth_overrides_avatar Utilizza l’avatar dal provider direttamente ad ogni accesso e impedisce all’utente di modificarlo localmente. Si applica a tutti i provider di autenticazione.

:information_source: I plugin OAuth2 Basic, OpenID Connect e SAML hanno anche le proprie impostazioni di override specifiche del plugin (oauth2_overrides_email, openid_connect_overrides_email, saml_sync_email). Queste funzionano allo stesso modo dell’impostazione globale auth_overrides_email, ma si applicano solo al rispettivo provider. Per la maggior parte delle configurazioni, le impostazioni globali sopra indicate sono sufficienti.


Domande frequenti

Queste impostazioni si applicano a tutti i plugin di autenticazione o solo a DiscourseConnect?
Le impostazioni auth_skip_create_confirm e auth_overrides * si applicano a tutti i provider di autenticazione esterni, inclusi DiscourseConnect, OpenID Connect, OAuth2 Basic, SAML e qualsiasi altro plugin basato sul framework di autenticazione di Discourse.

Posso creare account per gli utenti prima che accedano?
Sì, ma solo quando si utilizza DiscourseConnect. Utilizza la route API sync_sso come descritto in Sync DiscourseConnect user data with the sync_sso route.

Qual è la differenza tra DiscourseConnect e i plugin OAuth2/OIDC?
DiscourseConnect è il protocollo SSO personalizzato di Discourse. Consente al tuo sito esterno di avere il controllo completo sugli account Discourse, inclusa la possibilità di inviare l’appartenenza ai gruppi, sovrascrivere i campi e creare account in anticipo tramite API. I plugin OAuth2 e OpenID Connect utilizzano protocolli standard del settore, il che li rende più facili da connettere a provider di identità di terze parti con configurazioni minime.


Risorse aggiuntive

2 Mi Piace