Panoramica Single Sign-On¶
Indice¶
- Introduzione e panoramica
- Guide per i provider
- Passaggi di configurazione
- Configurazione del dashboard
- Configurazione del backend
- Test di accesso
- Risoluzione dei problemi
- Provider supportati
Introduzione e panoramica¶
Questa guida fornisce istruzioni passo-passo per integrare il Single Sign-On (SSO) con la piattaforma digna usando OpenID Connect (OIDC).
Cos'è SSO?¶
Single Sign-On permette agli utenti di accedere a digna in modo sicuro utilizzando le credenziali aziendali tramite provider di identità esterni. Gli utenti possono autenticarsi con le proprie credenziali corporate invece di gestire password separate per digna.
Come funziona¶
Lo SSO in digna è implementato usando il protocollo OIDC. Possono essere configurati più provider di identità in parallelo modificando due file di configurazione chiave:
dashboard_config.toml— Controlla l'interfaccia di accesso frontendconfig.toml— Configura le connessioni OIDC del backend
Provider supportati¶
Gli esempi in questa guida utilizzano Microsoft e Google, ma qualsiasi provider compatibile con OIDC può essere integrato seguendo la stessa struttura.
Guide per i provider¶
Ogni provider richiede gli stessi quattro valori — un client ID, un client secret, una redirect URI e una discovery URL — ma ciascuno li posiziona in modo diverso nella sua console di amministrazione, e diversi hanno un passaggio specifico che gli altri non richiedono. Le guide qui sotto coprono quella metà del lavoro; questa pagina copre la parte relativa a digna, che è identica per tutti loro.
| Provider | Guida | Da sapere |
|---|---|---|
| AD FS | Configura SSO con AD FS | Self-hosted; l'unico provider qui dove controlli il servizio token |
| Auth0 | Configura SSO con Auth0 | La discovery URL è per-tenant, e i domini personalizzati la cambiano |
| Google Workspace | Configura SSO con Google Workspace | La schermata di consenso deve essere pubblicata prima che utenti non di test possano accedere |
| Keycloak | Configura SSO con Keycloak | Self-hosted; la discovery URL è per-realm |
| Microsoft Entra ID | Configura SSO con Microsoft Entra ID | L'ID tenant appare nella discovery URL; i secret scadono |
| Okta | Configura SSO con Okta | La scelta del server di autorizzazione cambia la discovery URL |
| OneLogin | Configura SSO con OneLogin | Il tipo di app OIDC deve essere scelto alla creazione e non può essere cambiato |
| PingOne | Configura SSO con PingOne | L'ID ambiente appare nella discovery URL |
Qualsiasi altro provider compatibile con OIDC funziona allo stesso modo — vedi Altri provider OIDC.
Passaggi di configurazione¶
La configurazione dello SSO richiede aggiornamenti a due file. Questa sezione spiega come configurare ciascuno di essi.
Panoramica dei file di configurazione¶
| File | Posizione | Scopo |
|---|---|---|
| dashboard_config.toml | dashboard/dashboard_config.toml | Interfaccia di accesso frontend |
| config.toml | /config.toml | Connessioni OIDC del backend |
Entrambi i file devono essere configurati perché lo SSO funzioni correttamente.
Configurazione del dashboard¶
Posizione del file¶
Passaggio 1: Aggiungere provider OIDC¶
Aggiungi voci sotto l'array [[login.oidc]] per ogni provider di identità che vuoi supportare.
Esempio con Microsoft e Google:
[[login.oidc]]
key = "microsoft"
label = "Login with Microsoft"
[[login.oidc]]
key = "google"
label = "Login with Google"
Passaggio 2: Configurare le opzioni di accesso¶
Specifica se l'accesso tramite password deve essere consentito:
Parametri di configurazione¶
Sezione [[login.oidc]]¶
| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
key | string | Sì | Identificatore univoco per la connessione OIDC (deve corrispondere alla key in config.toml) |
label | string | Sì | Testo mostrato sul pulsante di accesso (es. "Login with Microsoft") |
Sezione [login]¶
| Parametro | Tipo | Predefinito | Descrizione |
|---|---|---|---|
usePassword | boolean | false | Consentire l'accesso tramite password oltre allo SSO |
Capire usePassword¶
Se usePassword = true: - La schermata di accesso mostra i pulsanti SSO (es. "Login with Microsoft") - La schermata di accesso mostra anche i campi username e password - Gli utenti possono autenticarsi con uno dei due metodi - Consente configurazioni ibride dove alcuni utenti usano SSO e altri password
Se usePassword = false (o omesso): - La schermata di accesso mostra solo i pulsanti SSO - Nessun campo username/password - È disponibile solo l'autenticazione OIDC
Suggerimento
L'accesso tramite password è disponibile solo per gli utenti creati con password usando il comando digna user add o tramite il dashboard.
Esempio completo¶
[login]
usePassword = true
[[login.oidc]]
key = "microsoft"
label = "Login with Microsoft"
[[login.oidc]]
key = "google"
label = "Login with Google"
[[login.oidc]]
key = "okta"
label = "Login with Okta"
Configurazione del backend¶
Posizione del file¶
(Directory di installazione root di digna)
Passaggio 1: Aggiungere sezioni provider OIDC¶
Ogni provider deve avere una sezione dedicata [oidc.<key>]. La key deve corrispondere alla key definita in dashboard_config.toml.
Configurazione Microsoft¶
[oidc.microsoft]
DIGNA_OIDC_CLIENT_ID = "<client_id>"
DIGNA_OIDC_CLIENT_SECRET = "<client_secret>"
DIGNA_OIDC_REDIRECT_URI = "http://localhost:5173/oidc/callback"
DIGNA_OIDC_CONFIGURATION_URL = "https://login.microsoftonline.com/<tenant_id>/v2.0/.well-known/openid-configuration"
Configurazione Google¶
[oidc.google]
DIGNA_OIDC_CLIENT_ID = "<client_id>"
DIGNA_OIDC_CLIENT_SECRET = "<client_secret>"
DIGNA_OIDC_REDIRECT_URI = "http://localhost:5173/oidc/callback"
DIGNA_OIDC_CONFIGURATION_URL = "https://accounts.google.com/.well-known/openid-configuration"
Parametri di configurazione¶
| Parametro | Tipo | Obbligatorio | Descrizione | Esempio |
|---|---|---|---|---|
DIGNA_OIDC_CLIENT_ID | string | Sì | Client ID dal provider di identità | abc123xyz789 |
DIGNA_OIDC_CLIENT_SECRET | string | Sì | Client secret dal provider di identità | secret_xyz789abc123 |
DIGNA_OIDC_REDIRECT_URI | string | Sì | URL di callback dopo l'autenticazione | http://localhost:5173/oidc/callback |
DIGNA_OIDC_CONFIGURATION_URL | string | Sì | Endpoint di configurazione OIDC | https://login.microsoftonline.com/... |
Importante
Sostituisci i valori segnaposto (<client_id>, <client_secret>, <tenant_id>) con le credenziali reali dal portale sviluppatori del tuo provider di identità.
Redirect URI¶
La redirect URI deve essere la stessa configurata nel provider di identità:
Se digna è ospitato in un dominio diverso, aggiorna di conseguenza: - Locale: http://localhost:5173/oidc/callback - Produzione: https://digna.yourdomain.com/oidc/callback
Esempio completo¶
[oidc.microsoft]
DIGNA_OIDC_CLIENT_ID = "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
DIGNA_OIDC_CLIENT_SECRET = "abc123xyz789def456ghi"
DIGNA_OIDC_REDIRECT_URI = "https://digna.yourdomain.com/oidc/callback"
DIGNA_OIDC_CONFIGURATION_URL = "https://login.microsoftonline.com/12345678-1234-1234-1234-123456789012/v2.0/.well-known/openid-configuration"
[oidc.google]
DIGNA_OIDC_CLIENT_ID = "123456789-abcdefghijklmnopqrstuvwxyz.apps.googleusercontent.com"
DIGNA_OIDC_CLIENT_SECRET = "google_secret_xyz789"
DIGNA_OIDC_REDIRECT_URI = "https://digna.yourdomain.com/oidc/callback"
DIGNA_OIDC_CONFIGURATION_URL = "https://accounts.google.com/.well-known/openid-configuration"
Test di accesso¶
Dopo aver completato la configurazione, verifica che lo SSO funzioni correttamente.
Checklist prima del test¶
Prima di eseguire i test, assicurati che:
-
dashboard_config.tomlsia stato aggiornato con i provider OIDC -
config.tomlsia stato aggiornato con le credenziali OIDC - Entrambi i file siano stati salvati
- Le credenziali siano corrette (client ID, client secret)
- La redirect URI corrisponda all'URL di deployment
- L'applicazione nel provider di identità sia configurata con la redirect URI
Passaggi di test¶
Passaggio 1: Riavviare i servizi¶
Riavvia il backend di digna e il web server per applicare le modifiche.
Se in esecuzione come servizio su Windows:
Se in esecuzione come servizio su Linux o macOS:
Se eseguito manualmente:
Riavvia anche il web server — IIS o Tomcat su Windows, nginx o Apache su Linux e macOS.
Passaggio 2: Aprire il dashboard¶
Apri il dashboard di digna nel browser:
(o l'URL del dashboard configurato)
Passaggio 3: Verificare i pulsanti di accesso¶
Controlla che appaiano i pulsanti di accesso per ogni provider configurato:
- Dovrebbe apparire il pulsante "Login with Microsoft"
- Dovrebbe apparire il pulsante "Login with Google"
- (Se usePassword = true) Dovrebbero apparire i campi username/password
Se i pulsanti non appaiono: - Verifica che dashboard_config.toml sia stato salvato - Verifica che il servizio del dashboard sia stato riavviato - Controlla la console del browser (F12) per errori
Passaggio 4: Testare l'accesso SSO¶
Clicca uno dei pulsanti SSO (es. "Login with Microsoft"):
- Dovresti essere reindirizzato alla pagina di accesso del provider di identità
- Effettua il login con le credenziali aziendali
- Verresti reindirizzato indietro a digna
- Dovresti risultare autenticato in digna
Passaggio 5: Verificare la creazione utente¶
Dopo un accesso SSO riuscito:
- L'utente dovrebbe essere creato automaticamente in digna
- L'utente dovrebbe risultare autenticato
- Il profilo utente dovrebbe mostrare le credenziali del provider di identità
- Dovresti vedere il dashboard di digna
Passaggio 6: Testare l'accesso con password (se abilitato)¶
Se usePassword = true:
- Effettua il logout da digna
- Nella pagina di accesso, inserisci username e password
- Dovresti poter effettuare l'accesso con le credenziali a password
Risoluzione dei problemi¶
I pulsanti di accesso non compaiono¶
Sintomi: - Pulsanti di accesso OIDC non visibili nella pagina di login - Vedi solo i campi password (se usePassword = true)
Cause e soluzioni: 1. Controlla che dashboard_config.toml sia nella directory dashboard/ 2. Verifica che siano presenti le sezioni [[login.oidc]] con la sintassi corretta 3. Riavvia il servizio del dashboard 4. Svuota la cache del browser (Ctrl+Shift+Delete o Cmd+Shift+Delete) 5. Controlla la console del browser (F12 → tab Console) per errori
Errore di mismatch della Redirect URI¶
Sintomi: - Dopo aver cliccato il pulsante SSO, errore su "redirect_uri mismatch" - Errore "The redirect URI is not registered"
Cause e soluzioni: 1. Verifica che DIGNA_OIDC_REDIRECT_URI in config.toml sia corretto 2. Verifica che la redirect URI sia registrata nelle impostazioni del provider di identità 3. Assicurati che entrambi usino URL identiche (inclusi protocollo, dominio, path) 4. Controlla eventuali errori di battitura nella redirect URI 5. Se usi HTTPS, assicurati che il certificato sia valido
Errore credenziali client non valide¶
Sintomi: - Errore "Invalid client ID or secret" - L'autenticazione fallisce con errore di credenziali
Cause e soluzioni: 1. Verifica che DIGNA_OIDC_CLIENT_ID e DIGNA_OIDC_CLIENT_SECRET siano corretti 2. Assicurati che non ci siano spazi in eccesso o caratteri speciali non voluti 3. Controlla che le credenziali non siano scadute o revocate 4. Riavvia il servizio backend dopo aver aggiornato la configurazione 5. Controlla la console del provider di identità per confermare che le credenziali siano attive
Login bloccato o in timeout¶
Sintomi: - Cliccando il pulsante SSO non succede nulla - Timeout dopo alcuni secondi - Il browser mostra "Failed to connect" o messaggi simili
Cause e soluzioni: 1. Verifica che il backend di digna sia in esecuzione: digna repo check 2. Controlla la connettività di rete verso il provider di identità 3. Verifica che DIGNA_OIDC_CONFIGURATION_URL sia accessibile 4. Controlla le regole del firewall che permettano connessioni HTTPS in uscita 5. Verifica che backend e dashboard possano raggiungersi a vicenda
Utenti non creati automaticamente¶
Sintomi: - Login SSO ha successo ma l'utente non viene creato in digna - Si riceve errore di permessi dopo il login SSO
Cause e soluzioni: 1. Verifica che la configurazione OIDC sia corretta 2. Controlla che i permessi utente siano impostati correttamente 3. Revisiona i log di digna per messaggi di errore 4. Riavvia il servizio backend 5. Contatta support@digna.ai se il problema persiste
Provider supportati¶
Testati e supportati¶
I seguenti provider OIDC sono stati testati e sono noti per funzionare:
| Provider | Configuration URL | Guida di setup |
|---|---|---|
| AD FS | https://<adfs_host>/adfs/.well-known/openid-configuration | Configura SSO con AD FS |
| Auth0 | https://<tenant>.<region>.auth0.com/.well-known/openid-configuration | Configura SSO con Auth0 |
| Google Workspace | https://accounts.google.com/.well-known/openid-configuration | Configura SSO con Google Workspace |
| Keycloak | https://<host>/realms/<realm>/.well-known/openid-configuration | Configura SSO con Keycloak |
| Microsoft Entra ID (Azure AD) | https://login.microsoftonline.com/<tenant_id>/v2.0/.well-known/openid-configuration | Configura SSO con Microsoft Entra ID |
| Okta | https://<domain>/.well-known/openid-configuration | Configura SSO con Okta |
| OneLogin | https://<subdomain>.onelogin.com/oidc/2/.well-known/openid-configuration | Configura SSO con OneLogin |
| PingOne | https://auth.pingone.com/<environment_id>/as/.well-known/openid-configuration | Configura SSO con PingOne |
Altri provider OIDC¶
Qualsiasi provider che supporti OpenID Connect può essere integrato. Informazioni richieste:
- Client ID
- Client secret
- OpenID configuration URL (di solito in
/.well-known/openid-configuration) - Scopes supportati (tipicamente
openid profile email)
Contatta support@digna.ai se hai bisogno di aiuto per integrare un provider specifico.
Best practice¶
FARE: - Usare HTTPS in produzione (non HTTP) - Conservare i client secret in modo sicuro (usare variabili d'ambiente se possibile) - Ruotare i secret periodicamente - Testare prima in un ambiente non di produzione - Documentare quali provider sono configurati - Monitorare i log di accesso per attività sospette - Tenere la configurazione del provider di identità sincronizzata con la configurazione di digna
NON FARE: - Conservare i client secret nel version control - Usare redirect URI HTTP in produzione - Configurare più provider con la stessa key - Lasciare credenziali di default/test in produzione - Esporre file di configurazione contenenti secret - Mischiare credenziali di sviluppo e produzione
Supporto¶
Hai bisogno di aiuto con la configurazione dello SSO?
- Email: support@digna.ai
- Documentazione: https://docs.digna.ai
- Sito web: https://www.digna.ai
Ultimo aggiornamento: 30 agosto 2026
Release: 2026.04
© 2026 digna GmbH — www.digna.ai