Introduzione
OpenID Connect (si apre in una nuova scheda) è un protocollo di autenticazione basato su OAuth 2.0. Permette di verificare l’identità degli utenti sull’autenticazione eseguita da un Server di Autorizzazione, e ottenere le informazioni di base del profilo degli utenti in modo interoperabile. Docebo supporta il flusso Connect Authorization Code, uno dei flussi di autenticazione. Fare riferimento alla documentazione tecnica di OpenID Connect (si apre in una nuova scheda) per ulteriori informazioni.
Attivando l'app OpenID Connect in Docebo, gli utenti potranno connettersi alle proprie piattaforme Docebo utilizzando le credenziali di sessioni attive di altre piattaforme web. Se questa App è attiva, gli utenti potranno connettersi alla piattaforma utilizzando le credenziali di altre piattaforme web cliccando l’icona OpenID Connect nella pagina di login della piattaforma Docebo oppure direttamente dalla dashboard di OpenID Connect, attraverso l’icona della piattaforma Docebo. Se l’utente che chiede di connettersi non esiste ancora in Docebo, sarà creato automaticamente al primo login.
Questo articolo indica come procedere all’attivazione e alla configurazione dell'app. L’integrazione con OpenID Connect è disponibile per l'app Extended Enterprise di Docebo.
Attenzione! Con OpenID Connect è possibile integrare un solo Identity Provider per dominio della piattaforma. Nel caso in cui sia necessario integrare altri Identity Provider per lo stesso dominio, utilizzare un altro protocollo.
L'app mobile Go.Learn supporta il Single-Sign On OpenID Connect a condizione che l'identity provider consenta di aggiungere parametri di query come ?device=mobile durante l'autenticazione. Per ulteriori informazioni, vedere il capitolo Configurazione dell'app OpenID Connect
Consiglio d'utilizzo: Quando si configurano contemporaneamente un'integrazione SSO e un dominio personalizzato, consigliamo vivamente di configurare prima il dominio personalizzato nella Gestione domini. Gli URL degli endpoint necessari per l'integrazione SSO dipendono dall'URL della piattaforma.
Attivare l'app OpenID Connect
Attivare l'app OpenID Connect come descritto nell'articolo della Knowledge Base dedicato alla gestione di applicazioni e funzionalità. L'app si trova nella scheda Single Sign On.
Dopo l’attivazione è possibile iniziare le configurazione. Fare riferimento alla sezione che segue per ulteriori informazioni.
Configurare l'app OpenID Connect
Iniziare la configurazione dell'app connettendosi alla piattaforma come Superadmin e accedendo al Menu amministrazione dall’icona ingranaggio in alto a destra. Identificare la sezione OpenID Connect nel Menu amministrazione e premere Gestione per accedere alla pagina di Configurazione di OpenID Connect.
Gli URL visualizzati nella sezione URL della Piattaforma sono generati automaticamente dalla piattaforma, e devono essere passati all’Identity Provider per una corretta configurazione della piattaforma Docebo nel sistema dell’Identity Provider:
- URL di login
Pagina di login dell’applicazione di terze parti per l’autenticazione utilizzando OpenID Connect
- URL di logout
URL di logout utilizzato per disconnettere l’utente attualmente connesso dall’applicazione di terze parti
Attenzione! Per utilizzare il SSO con OpenID Connect nella propria app mobile Go.Learn o personalizzata, è necessario aggiungere l'URL
golearn://sso_logoutalla lista dei sign-out redirect URI (anche chiamati redirect URI or callback URL) nella pagina di configurazione nell’Identity Provider.
- Codice URL
URL di reindirizzamento dell’applicazione di terze parti per le risposte del codice di OpenID Connect.
Attenzione! Per utilizzare il SSO con OpenID Connect nella propria app mobile Go.Learn o personalizzata, è necessario aggiungere il parametro
?device=mobilealla fine del codice URL quando si copia e incolla il codice URL da Docebo alla pagina di configurazione dell'Identity Provider. Non tutti gli identity provider consentono di aggiungere parametri di query alle richieste di autenticazione (esempio: Azure AD B2C).
La sezione OpenID Client deve essere compilata con i dettagli dell’Identity Provider che si sta integrando. Copiare ed incollare questi dati dall’identity provider in questa sezione della piattaforma Docebo. Consultare la documentazione tecnica dell’identity provider per ulteriori informazioni riguardo come ottenere questi dati. Se l’Identiy Provider in uso è OKTA, OneLogin, Salesforce, Microsoft Entra o Microsoft Azure AD B2C sono disponibili degli esempi di configurazione alla fine di questo articolo.
- Issuer
URL completo del server di autorizzazione
- Client ID
Client ID del client che richiede il token di accesso
- Client Secret
Il Client Secret è utilizzato con il Cliend ID per autenticare l’applicazione client.
- Metadata URL
Fornisce i metadata OpenID Connect relativi al server di autenticazione indicato. Il Metadata URL fornisce tutti i dati configurabili nella seconda sezione della pagina di configurazione di OpenID Connect.
Nella sezione Auth type è possibile selezionare se attivare il Tipo di autenticazione Basic Auth o Query String, in base all’Identity Provider in uso. L’opzione di default è Basic Auth, in quanto maggiormente utilizzata. Fare riferimento alla documentazione dell’Identity Provider per ottenere questa informazione.
Premere Continua per attivare il secondo slot di parametri e procedere con la configurazione. Le opzioni seguenti sono auto-popolate dall'URL metadati.
- Premere Reset in qualsiasi momento per ricominciare la configurazione da zero. In questo caso, dopo aver completato il primo slot di parametri e aver premuto Continua, premere anche Salva le modifiche per aggiornare la pagina e recuperare correttamente le opzioni dall'URL metadati.
Attributo username
Nella sezione Attributo username, selezionare una delle opzioni fornite dall’Identity Provider. L’attributo selezionato sarà lo username degli utenti della piattaforma Docebo. Al momento della scelta, assicurarsi che l’attributo selezionato sia popolato per tutti gli utenti dell’Identity Provider. L’attributo selezionato deve essere univoco. Per esempio, selezionando l’attributo Family Name, è necessario assicurarsi che nessuno degli utenti abbia lo stesso cognome. Consigliamo di utilizzare lo Username Attribute di tipo Email.
Ricordare inoltre che si è selezionata l'opzione Nome e cognome sono campi obbligatori per la registrazione nella scheda Autoregistrazione della sezione Configurazione del Menu amministrazione di Docebo, l'Identity Provider deve fornire i nomi e i cognomi degli utenti per una corretta registrazione in piattaforma.
Scopo
Gli elementi di questo elenco sono auto-popolati e dipendono dall’endpoint. Sono dati ricavati dal Metadata URL inserito nella sezione OpenID Client. Selezionare i dati utente che si desidera recuperare dall’Identity Provider attraverso l’ID Token, selezionando i checkbox corrispondenti. Attenzione, i campi Email e Profile sono obbligatori e devono essere sempre selezionati.
Le opzioni selezionate in questa sezione identificano i dati che popoleranno il profilo utente al momento della creazione dell'utente stesso in piattaforma, al primo login. Se l’ID Token include campi aggiuntivi, assegnazione a gruppi o rami di Docebo, questa informazione sarà presa in considerazione e popolata nella piattaforma Docebo.
Metodo di scambio del token
Questo parametro permette di definire il modo in cui il sistema invia le richieste dati JTW all’Identiti Provider. Di default, Docebo invia le richieste via URL utilizzando i parametri GET. Quando si utilizza l’opzione POST, Docebo invia le richieste via URL utilizzando parametri POST, aggiungendoli alla sezione BODY della chiamata.
L’opzione GET è più semplice e invia dati attraverso l’URL, mentre l’opzione POST è più complessa, ma utilizza un metodo di criptaggio più efficace.
Attenzione! Questo parametro è definito a
GETdi default. Quando si utilizza questo parametro, assicurarsi di configurare l’Identity Provider in base all’opzione selezionata.
Sia le richieste GET che le richieste POST inviano i dari che seguono per il ripo di autenticazione authorization code:
- Code
Il valore Code passato dallo standard OpenID, quando si utilizza il tipo di autenticazione authorization code.
- Redirect URI
URI dove Docebo invia il JTW.
Quando si utilizza il tipo di autenticazione basic auth, sono inviati anche i seguenti dati:
- Client ID
- Client Secret
Convalida dei parametri di stato
Per una maggiore sicurezza, consigliamo di selezionare l'opzione su Applica e convalida il parametro di stato. Non selezionare questa opzione solo quando non si cofigura l'Identity Provider per l'invio o la convalida del parametro di stato.
Certification rotation
Quando l’opzione Certification rotation è selezionata, la piattaforma Docebo recupererà la chiave valida al momento della richiesta da un URL definito nello standard OpenID Connect. L’Identity Provider auto-abiliterà l’opzione per eseguire il refresh della certificazione autonomamente. Questa opzione fa parte della relazione standard, ed è autoselezionato.
Se l’Identity Provider non supporta la Certification Rotation, ma questa opzione è abilitata, sarà visualizzato un messaggio di errore.
Configurazione SSO
Il sezione Configurazione SSO può essere gestita in due modi. Definire se mostrare la pagina di login standard, o se reindirizzare automaticamente gli utenti alla dashboard dell’Identity Provider. Se si seleziona la prima opzione, scegliere se mostrare il pulsante per il SSO sulla pagina di login della piattaforma.
Se si seleziona l’opzione Automatic redirect to Identity Provider, è possibile definire una landing page di logout per quando gli utenti effettuano il logout dalla piattaforma, invece di utilizzare la pagina di logout standard. Utilizzare il campo di testo per digitare l’URL della landing page di logout.
Per ulteriori informazioni, consultare l'articolo General guidance for SSO configuration (Indicazioni generali per la configurazione SSO) > SSO behavior (Configurazione SSO).
Logout behaviour
La sezione Logout Behaviour permette di configurare se gli utenti saranno automaticamente disconnessi dall’Identity Provider quando si disconnettono dalla piattaforma Docebo. Opzionalmente, è possibile selezionare un endpoint di disconnessione di terze parti, in grado di ricevere messaggi di disconnessione via GET, al fine di completare il Single LogOut; questa opzione è gestita solo da alcuni Identity Provider.
In questa sezione è possibile attivarel'opzione per non inviare id_token_hint. Docebo non consiglia di utilizzare questa opzione.
Per ulteriori informazioni, consultare l'articolo General guidance for SSO configuration (Indicazioni generali per la configurazione SSO) > Logout behavior.
Provisioning degli utenti
Il provisioning degli utenti consente di creare automaticamente un nuovo utente sulla piattaforma se l'autenticazione SSO è valida ma l'utente in questione non esiste ancora sulla piattaforma. Consente inoltre di aggiornare automaticamente i dettagli di un utente sulla piattaforma in base alle informazioni corrispondenti nel provider di identità SSO.
Suggerimento: Un utente è considerato già esistente sulla piattaforma se il suo Username corrisponde al campo dell'identity provider impostato come Attributo username. Consultare il capitolo Attributo username.
Abilitare la creazione di utenti con provisioning:
Per iniziare, selezionare l'opzione Abilita. Con il provisioning abilitato, un utente che accede tramite SSO e che non esiste ancora nella piattaforma verrà creato subito, con l'Username della piattaforma uguale al campo provider impostato nell'Attributo username.
Nota sul posizionamento predefinito nel ramo: per l'SSO sulla piattaforma principale, gli utenti appena creati verranno posizionati nel ramo principale. Per l'SSO su un extended enterprise client, gli utenti appena creati verranno posizionati nel ramo associato al client.
Aggiungere altri campi provisioning:
Oltre all'Username, potreste voler popolare altri dettagli di un utente fornito utilizzando le informazioni recuperate dall'identity provider.
È possibile configurare questa opzione nella sezione Aggiungi campi. Qui, l'elenco a tendina Seleziona campo mostra tutti i campi utente e i campi aggiuntivi utente configurati nella piattaforma.
- Da questo elenco, selezionare il campo desiderato, in modo che appaia sotto l'intestazione Nome del campo.
- Quindi, dall'elenco a tendina accanto al campo appena aggiunto, selezionare il valore corrispondente dell'identity provider che si desidera utilizzare per quel campo. Apparirà sotto l'intestazione Dichiarazione di attributo.
Ripetere i due passaggi precedenti per tutti i campi che si desidera fornire. Tenere presente che ogni campo piattaforma e campo identity provider può essere utilizzato una sola volta. Non è possibile abbinare più nomi del campo alla stessa dichiarazione di attributo, o viceversa.
Suggerimento: se nella piattaforma alla voce Configurazione avanzata > Autoregistrazione si ha selezionato l'opzione Nome e cognome sono obbligatori per la registrazione, assicurarsi di includere questi campi nella sezione Aggiungi campi, in modo che gli utenti forniti possano essere creati.
Allo stesso modo, se si hanno impostato alcuni campi aggiuntivi utente come obbligatori nella piattaforma, assicurati che siano mappati qui in modo che possano essere compilati, altrimenti l'utente non potrà essere creato correttamente. Per ulteriori informazioni, consultare il capitolo Tipi di campi aggiuntivi supportati per il provisioning.
Bloccare i campi provisioning utenti:
Selezionare la casella di controllo Blocca campi provisioning utenti per impedire agli utenti di modificare, nella sezione Il mio profilo, i campi utente provisioning. Questi campi appariranno in grigio e contrassegnati come disabilitati, in modo che l'utente non possa modificare il valore ottenuto dall'identity proivider.
→ Per alcune importanti limitazioni e problemi che possono verificarsi con i campi bloccati, consultare l'articolo General guidance for SSO configuration (Istruzioni generali per la configurazione SSO) > Lock provisioned user fields > (Bloccare i campi provisioning utente).
Aggiornare i campi provisioning:
Selezionare la casella di controllo Se l'utente esiste già, aggiorna le sue informazioni per aggiornare automaticamente, all'interno della piattaforma, i valori di tutti i campi provisioning che sono stati modificati dall'identity provider. Se non si seleziona questa opzione, bisogna copiare manualmente le modifiche per mantenere allineati i campi provisioning.
Premere Salva le modifiche per completare la configurazione.
Tipi di campo aggiuntivi supportati per il provisioning
I campi aggiuntivi supportati per il provisioning degli utenti in questa integrazione sono:
- campo a tendina (utilizzare il campo a tendina nella selezione dell'attributo)
- campo di testo - codice fiscale
- Paese (utilizzare l'ID del Paese nella selezione dell'attributo)
- campo data (formato: YYYY-MM-DD)
- campo yes/no
I campi aggiuntivi non supportati sono:
- iframe
- campo file
- campo di testo libero
Note sullo user provisioning
- Se si desidera popolare il campo aggiuntivo dell'utente relativo al Paese tramite SSO, un valore accettabile potrebbe essere l'ID del Paese o il nome del Paese, come indicato nell'articolo Elenco dei Codici ISO 3166-1 per i Paesi.
- L'attributo Language utente non è supportato per il provisioning degli utenti.
Flusso di Autenticazione
A partire dal 26 ottobre 2021, Docebo utilizza short-lived token per una maggiore sicurezza della piattaforma:
Vecchio flusso di autenticazione
Prima del 26 ottobre 2021, la piattaforma inviava una richiesta all'Identity Provider (IdP) che rispondeva con un token di accesso persistente.
Ogni SSO ha dei processi diversi, ma tutti restituiscono un link alla piattaforma contenente il token di accesso nell'URL:
https://mylms.docebosaas.com/learn/home;type=oauth2_response;reenter_cc=0;access_token=9b8de7ed2af145dee78aa4282bf1d3b17baf02cd;expires_in=3600;token_type=Bearer;scope=apiFlusso di autenticazione con Short Lived Token
Il nuovo flusso di autenticazione offre maggiore sicurezza sostituento il short lived token monouso inviato dall'IdP con un token interno:
Ogni SSO ha dei processi diversi, ma tutti restituiscono un link alla piattaforma contenente il token di accesso nell'URL. Gli short lived token possono essere usati una sola volta (la loro validità è di 30 secondi) ed essere scambiati con vere credenziali:
https://mylms.docebosaas.com/learn/signin;type=token_exchange;exchange_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSULa piattaforma utilizza internamente e automaticamente chiamate POST e li modifica con token di accesso reali. Questo processo offre maggiore sicurezza senza modificare il comportamento del SSO.

