Docebo per OpenID Connect

Integrare Docebo con OpenID Connect

Ultimo Aggiornamento

Ottobre 7th, 2019

Tempo di Lettura

14 min

Livello Utente

Introduzione

OpenID Connect è 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 per ulteriori informazioni.

Attivando la 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 dell’LMS oppure direttamente dalla dashboard di OpenID Connect, attraverso l’icona dell’LMS. Se l’utente che chiede di connettersi non esiste ancora in Docebo, sarà creato automaticamente al primo login.

Questo articolo indicherà come procedere all’attivazione e alla configurazione della App. L’integrazione con OpenID Connect è disponibile per tutti gli utenti del tema 7.0 (sia clienti del piano Growth che Enterprise), e per la App Multidomain di Docebo. Non è compatibile con il tema 6.9.

Attenzione: Utilizzando 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’applicazione mobile di Docebo non supporta l’Autenticazione con OpenID Connect. Solo la versione desktop della piattaforma permette l’Autenticazione con OpenID Connect.

Attivare la App OpenID Connect

Per attivare la app, connettersi alla piattaforma come Superadmin. Accedere al Menu Amministrazione dall’icona ingranaggio quindi premere Aggiungi Nuove Applicazioni. Selezionare il tab Single Sign On dal menu di sinistra. Identificare la app OpenID Connect nell’elenco delle app in questo tab e premere Provala Gratuitamente nella riga della app. Leggere la descrizione della app nella finestra pop up e premere di nuovo Provala Gratuitamente per finalizzare l’attivazione.

Dopo l’attivazione è possibile iniziare le configurazione. Fare riferimento alla sezione che segue per ulteriori informazioni.

Configurare la App OpenID Connect

Iniziare la configurazione della 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 Platform URLs sono generati automaticamente dalla piattaforma, e devono essere passati all’Identity Provider per una corretta configurazione dell’LMS nel sistema dell’Identity Provider:

Login URL. pagina di login dell’applicazione di terze parti per l’autenticazione utilizzando OpenID Connect

Logout URL. URL di logout utilizzato per disconnettere l’utente attualmente connesso dall’applicazione di terze parti.

Code URL. URL di reindirizzamento dell’applicazione di terze parti per le risposte del codice di OpenID Connect

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 dell’LMS. 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 Azure AD 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 Reset per ricominciare la configurazione da capo,  o Continua per attivare la seconda sezione di parametri e procedere con la configurazione. Le opzioni che seguono sono auto-popolate dal Metadata URL.

Username Attribute

Nella sezione Username Attribute, selezionare una delle opzioni fornite dall’Identity Provider. L’attributo selezionato sarà lo username degli utenti dell’LMS. 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.

Ricordarsi inoltre che si è selezionata l’opzione Nome e cognome sono campi obbligatori per la registrazione nella tab 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 nell’LMS.

Attenzione: l’integrazione funziona solo con id_token per recuperare il token di accesso. Attualmente, l’endpoint userinfo non è supportato.

Certificates Rotation

Quando l’opzione Certificates Rotation è selezionata, l’LMS 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.

Logout Behaviour

La sezione Logout Behaviour permette di configurare se gli utenti saranno automaticamente disconnessi dall’Identity Provider quando si disconnettono dall’LMS. 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.

Provisioning degli Utenti

Questa sezione permette di creare istantaneamente un utente presente nell’Identity Provider ma non nel database dell’LMS. Selezionare l’opzione Abilita. È inoltre possibile selezionare l’opzione per bloccare i campi utente, in modo che gli utenti non possano modificare i dettagli dei propri profili utente creati utilizzando OpenID Connect. Al momento della modifica dei profili utenti, queste opzioni saranno disabilitate.

Nel caso in cui degli utenti esistano in entrambi i database, consigliamo di selezionare l’opzione per aggiornare le informazioni degli utenti esistenti. Se queste opzioni non sono selezionate, sarà necessario registrare (opzione Abilita) o aggiornare gli utenti (aggiorna informazioni) manualmente nell’LMS.

Attenzione: OpenId Connect popola automaticamente i campi aggiuntivi dell’Identity Provider, quindi è necessario selezionarli singolarmente dal menu a tendina Aggiungi Campi e associarli ai campi aggiuntivi di Docebo nella sezione visualizzata per ogni campo aggiuntivo dopo la selezione. Se ci sono campi aggiuntivi definiti come obbligatori nell’LMS, devono essere mappati in questa sezione al fine di essere popolati in piattaforma. Se i campi aggiuntivi obbligatori non sono popolati, non sarà possibile creare l’utente. Attenzione, attualmente l’integrazione non include i campi aggiuntivi utente di tipo dropdown.

Premere Salva Modifiche per completare la configurazione. Si noti che i campi aggiuntivi supportati per il provisioning degli utenti in questa integrazione sono: campo a tendina, campo di testo, codice fiscale, nazione, campo data (formato: YYYY-MM-DD) e campo sì/no. I campi aggiuntivi non supportati con questa integrazione sono iFrame, campo file e campo di testo libero.

Esempi di Configurazione

Questa sezione fornisce degli esempi per configurare e integrare alcuni degli Identity Provider più comunemente utilizzati. Se l’Identity Provider che si desidera integrare non è elencato in questa sezione, fare riferimento alla prima parte dell’articolo.

OKTA

Per configurare OKTA con OpenID Connect, non è necessario che la App OKTA sia attiva in piattaforma. Iniziare connettendosi ad OKTA come Admin, cliccare Admin in alto a destra, selezionare il tab Applications e cliccare Add Application per creare la App Docebo in OKTA, registrandola come Service Provider. Cliccare Create New App.

Nella finestra pop up, selezionare la Platform Type Web e il Sign On Method OpenID Connect. Premere Create per continuare. Digitare l’Application Name (può essere Docebo o il nome della App personalizzato) e aggiungere un logo per identificare la App nella dashboard di OpenID Connect. Il caricamento del logo è facoltativo, ma utile per identificare velocemente l’LMS nella dashboard di OpenID Connect.

Aprire ora la pagina di configurazione di OpenID Connect in Docebo (Menu Amministrazione -> OpenID Connect -> Manage), e copiare i valori mostrati nella sezione Platform URLs nei campi corrispondenti della sezione Configure OpenID Connect della pagina Create OpenID Connect Integration in Okta. Nella sezione Login redirect URIs, copiare ed incollare i valori dei campi Login URL e Code URL di Docebo, in questo ordine. Premere Add URI per inserire una nuova riga. Copiare ed incollare il valore Logout URL da Docebo alla sezione Logout redirect URIs di OKTA. Premere Add URI per inserire una nuova riga. Premere Salva per procedere.

Recuperare le informazioni di OpenID Connect dalla sezione Configure OpenID Connect della pagina Create OpenID Connect Integration di OKTA, e incollarla nella sezione Open ID Client della pagina di configurazione di OpenID Connect in Docebo. Spostarsi al tab General, copiare i valori di Client ID e Client Secret ed incollarli nei campi corrispondenti in Docebo. Recuperare il codice codice Client Issuer dalla propria installazione OKTA: copiare l’URL da https fino alla fine del nome del dominio (es. https://{yourdomainname}.oktapreview.com/) ed incollarlo nel campo Issuer.

Infine, comporre il valore Metadata URL come segue:

{{url}}/.well-known/openid-configuration?client_id={{clientId}}

dove:

– {{url}} è l’Issuer Code (incluso il protocollo https o http), rimuovere {{ }}
– {{clientId}} è il valore Client ID, rimuovere {{ }}

Copiare l’URL ed incollarlo nel valore Metadata URL di Docebo.

Sul sito web di Okta, definire gli utenti autorizzati ad utilizzare la app. Spostarsi al tab Assignments e aggiungere gli utenti, uno alla volta o con un’azione massiva. Selezionare gli utenti e/o i gruppi precedentemente creati in Okta, e cliccare Assign e Done per completare l’azione.

La configurazione di Docebo in Okta è completa. Tornare a Docebo, definire l’Auth Type a Basic Auth e cliccare Continue per procedere e attivare i parametri della seconda parte della configurazione. Completare la configurazione seguendo le istruzioni della prima parte di questo articolo.

OneLogin

Per configurare OneLogin con OpenID Connect, non è necessario che la App OneLogin sia attiva in piattaforma. Iniziare la configurazione dell’Identity Provider. Connettersi a OneLogin, cliccare Administration nella barra superiore della pagina, selezionare il tab Apps e cliccare Custom Connectors.

Creare un connettore personalizzato per registrare Docebo come Service Provider. Cliccare New Connector in alto a destra. Inserire il nome della App Docebo (es. yourtrial.docebosaas.com) e premere il Thick per confermare e accedere alla pagina Basic Configuration. Definire un’icona per identificare la App nella Dashboard di OpenID Connect. Il caricamento dell’icona è facoltativo, ma può essere utile per identificare velocemente l’LMS nella dashboard di OpenID Connect. Nella sezione Sign On Method, selezionare OpenId Connect.

Aprire la pagina di configurazione di OpenID Connect in Docebo (Menu Amministrazione -> OpenID Connect -> Manage), e copiare i valori visualizzati nella sezione Platform URLs nei campi corrispondenti di OneLogin, come segue. Nella sezione OpenID Connect di OneLogin, incollare il Code URL di Docebo nel campo redirect URI. Spostarsi alla sezione Login URL e incollare il Login URL nel campo Login URL. Premere Salva per continuare.

Spostarsi al tab Apps, selezionare Add Apps e cercare OpenID Connect dalla barra di ricerca. Selezionare OpenID Connect (OIDC) fra i risultati della ricerca visualizzati nella pagina Find Application. Confermare o selezionare il piano di abbonamento e premere Continua. Inserire il nome e la descrizione della App. Nel tab Configuration copiare ed incollare il Login URL di Docebo nei campi Login Url e il Code URL e il Logout URL nella sezione Redirect URI’s, su due righe separate. Premere Salva per continuare.

Recuperare ora le informazioni di OpenID Connect da OneLogin. Il codice Issuer è specificato nell’URL del sito web di OneLogin: copiare il link da https all’ultima lettera prima dello slash (non copiare lo slash). Spostarsi al tab SSO.

Copiare il Client ID e il Client Secret ed incollarli nei campi corrispondenti della sezione OpenID Client della pagina di configurazione di OpenID Connect in Docebo (Menu Amministrazione -> OpenID Connect -> Manage).

Infine, comporre il valore Metadata URL come segue:

{{url}}/oidc/.well-known/openid-configuration

Dove url è l’url dell’Identity Provider, rimuovere {{ }}

Definire ora quali utenti sono autorizzati ad utilizzare la app. Spostarsi al tab Users e inserire gli account degli utenti che potranno  connettersi utilizzando l’Identity Provider.

La configurazione di Docebo su OneLogin è completata. Tornare a Docebo, definire il valore del campo Auth Type come Basic Auth e cliccare Continua per continuare ed attivare i parametri della seconda parte della configurazione. Completare la configurazione seguendo le istruzioni della prima parte di questo articolo.

Salesforce

Per configurare SalesForce con OpenID Connect, non è necessario che la App SalesForce sia attiva in piattaforma. Iniziare la configurazione dell’Identity Provider. Connettersi a Salesforce, e cliccare Setup sulla barra superiore della pagina. Dal menu di sinistra, accedere alla sezione Build, selezionare Create ed infine Apps.

Dalla pagina Apps, spostarsi alla sezione Connected Apps e cliccare New per aggiungere Docebo come nuova applicazione.

Si aprirà la pagina New Connected App, digitare il Connected App Name e l’indirizzo email di contatto nelle sezioni corrispondenti. Spostarsi alla sezione API (Enable OAuth Settings) e selezionare l’opzione Enable OAuth settings. Selezionando questa opzione, saranno mostrate altre opzioni di configurazione nella sezione sottostante.

Aprire ora la pagina di configurazione di OpenID Connect (Menu Amministrazione -> OpenID Connect -> Manage), e copiare i valori mostrati nella sezione Platform URLs nei campi corrispondenti della pagina. Nell’URL Callback, incollare i valori del Login URL e del Code URL su due righe separate, senza caratteri di separazione.

Definire ora il parametro Selected OAuth Scope aggiungendo Allow access to your unique identifier nel box Selected OAuth Scope. Selezionare l’opzione Configure ID Token e selezionare Include standard claim dalle opzioni visualizzate nell’area sottostante. Se necessario, abilitare l’opzione Enable Single Logout, copiare ed incollare il Logout URL di Docebo.

Premere Salva per completare la configurazione. Attenzione, dopo il salvataggio potrebbero essere necessari fino a dieci minuti per la creazione dell’App.

Al termine della procedura di creazione, si sarà reindirizzati alla pagina della app appena creata. Recuperare le informazioni di OpenID Connect da Docebo. Recuperare il codice Issuer dall’URL del sito, copiare il link da https all’ultima lettera prima dello slash. Copiare i valori Consumer Key e Consumer Secret (cliccare Click to Reveal per visualizzare il codice in chiaro) e incollarli nei campi Client ID e Client Secret nella sezione OpenID Client della pagina di configurazione di OpenID Connect in Docebo (Menu Amministrazione -> OpenID Connect -> Manage).

Infine, comporre il valore Metadata URL come segue:

{{url}}/.well-known/openid-configuration

Dove url è l’url dell’Identity Provider, rimuovere {{ }}

La configurazione di OneLogin è completa. Tornare a Docebo, definire Query String come Auth Type e cliccare Continua per procedere e attivare i parametri della seconda parte della configurazione. Completare la configurazione seguendo le istruzione della prima parte di questo articolo.

Quando gli utenti si connettono per la prima volta in Docebo utilizzando SalesForce, dovranno confermare che Docebo ha il permesso di accedere ai loro dati per continuare. Se gli utenti non permettono a Docebo di accedere ai propri dati, non potranno connettersi.

Microsoft Azure AD

Iniziare la configurazione dell’Identity Provider (se si desidera utilizzare l’integrazione con un dominio personalizzato, assicurarsi che la certificazione SLL sia valida). Connettersi a Microsoft Azure AD come Admin, e selezionare l’opzione Azure Active Directory dal pannello di sinistra, quindi App Registration dal sottomenu. Cliccare New Application Registration nella parte superiore della pagina App Registration.

Si accederà alla pagina di creazione dell’app. Inserire il nome dell’app nel campo Name e selezionare Web app/API come Application Type. Aprire la pagina di configurazione di OpenID Connect in Docebo (Menu Amministrazione -> OpenID Connect -> Gestione) e copiare il valore del campo Login URLs nel campo Sign-on URL. Premere Create per continuare. La app Docebo è stata creata e registrata in Microsoft Azure AD. Selezionare ora la app Docebo dalla dashboard, cliccare Settings nella pagina delle app e spostarsi all’opzione Reply URLs nel menu General. Sempre dalla pagina di configurazione di OpenID Connect in Docebo (Menu Amministrazione -> OpenID Connect -> Gestione) e copiare il valore del campo Code URL nel pannello di destra. Premere Save per confermare.

Nella pagina Settings, spostarsi nella sezione Keys del menu API Access per definire la chiave di accesso che sarà necessaria per completare la configurazione di Microsoft Azure AD in Docebo. Definire una descrizione (campo Description) per la chiave di accesso e definire il campo Expires a Never Expires, in modo che non sia necessario cambiare la chiave in futuro. Premere Save per generare il valore della chiave di accesso. Il valore è generato automaticamente da Microsoft Azure AD e visualizzato del campo di testo Value, nella riga della chiave di accesso. Copiare la chiave di accesso e salvarla, poiché non sarà possibile recuperarla dopo essere usciti da questa pagina.

La configurazione della app di Docebo in Microsoft Azure AD è completa. Tornare a Docebo (connettersi come Superadmin) e configurare l’integrazione dal lato LMS (Menu Amministrazione -> OpenID Connect -> Manage). Fare riferimento a questo articolo della Knowledge Base di Microsoft Azure per calcolare del valore del Metadata URL. Ricavare il valore del campo Issuer dal Metadata URL. Il valore del Client ID corrisponde al valore del campo Application ID visualizzato nella pagina Settings della app Docebo in Microsoft Azure AD. Infine, completare il campo Client Secret con il valore della chiave di accesso generata nella sezione Keys in Microsoft Azure AD.

La configurazione della comunicazione fra Docebo e Microsoft Azure AD è completa. Definire il valore Auth Type a Query String e premere Continua per procedere e attivare i parametri della seconda parte della configurazione. Completare la configurazione seguendo le istruzioni fornite nella prima parte di questo articolo.

Alla prima connessione a Docebo attraverso Microsoft Azure AD dopo la configurazione dell’integrazione, un messaggio pop-up inviterà l’utente a confermare che autorizza Docebo ad accedere ai dati salvati in Microsoft Azure AD e a visualizzare il proprio profilo base.

Premere Accetta per continuare. Senza questa autorizzazione, l’integrazione non funzionerà.

Microsoft Azure AD B2C

Iniziare la configurazione dell’Identity Provider (se si desidera utilizzare l’integrazione con un dominio personalizzato, assicurarsi che la certificazione SLL sia valida). Connettersi a Microsoft Azure AD come Admin. Dalla barra di ricerca nella parte superiore della pagina All Services, cercare Azure AD B2C e selezionarlo fra i risultati della ricerca.

Una volta nella pagina di Azure AD B2C, selezionare Applications dal menu Manage. Nella pagina Azure AD B2C – Applications, cliccare Add per aggiungere Docebo. Iniziare la configurazione di Docebo digitando il nome della app e definendo le opzioni nella sezione Web App / Web API (Include web app 7 web API and Allow implicit flow) a Yes.

Recuperare il valore per il campo Reply URL dall’LMS. Aprire la pagina di configurazione di OpenID Connect in Docebo (Menu Amministrazione -> OpenID Connect -> Gestione), copiare il valore del campo Code URL e incollarlo in questo campo. Premere Create per confermare la creazione dell’app. La app Docebo ora si trova nell’elenco della pagina Applications. Cliccare sul nome dalla app per accedere la relativa pagina Properties. Nella sezione Reply URL, digitare il valore del campo Login URLs recuperandolo dalla pagina di configurazione di OpenID connect in Docebo (Menu Amministrazione -> OpenID Connect -> Gestione) e premere Save per confermare.

Spostarsi nella sezione Keys nel menu General per definire la chiave di accesso che sarà necessaria per completare la configurazione di Microsoft Azure AD B2C in Docebo. Premere Generate Key.

Inserire la descrizione della chiave e premere Save. Il sistema genererà la chiave di accesso al momento del salvataggio.Copiare la chiave di accesso e salvarla, poiché non sarà possibile recuperarla dopo essere usciti da questa pagina.

La configurazione della app di Docebo in Microsoft Azure AD B2C è completa. Tornare a Docebo per configurare la configurazione lato LMS (Menu Amministrazione -> OpenID Connect -> Gestione). Fare riferimento a questo articolo della Knowledge Base di Microsoft Azure AD per calcolare il valore del campo Metadata URL. Ricavare il valore del campo Issuer dal Metadata URL. Il valore del Client ID corrisponde al valore dell’Application ID visualizzato nella pagina Properties dell’app di Docebo in Microsoft Azure AD. Infine, inserire nel campo Client Secret la chiave di accesso generata nella sezione Keys in Microsoft Azure AD B2C.

La configurazione della comunicazione fra Docebo e Microsoft Azure AD B2C è completa. Definire l’Auth Type come Query String e cliccare Continua per procedere e attivare i parametri della seconda parte della configurazione. Completare la configurazione seguendo le istruzioni fornite nella prima parte di questo articolo. Alla prima connessione a Docebo attraverso Microsoft Azure AD B2C dopo la configurazione dell’integrazione, un messaggio pop-up inviterà l’utente a confermare che autorizza Docebo ad accedere ai dati salvati in Microsoft Azure AD e a visualizzare il proprio profilo base. Premere Accetta per continuare. Senza questa autorizzazione, l’integrazione non funzionerà.