Prezentarea Single Sign-On¶
Cuprins¶
- Introducere și prezentare generală
- Ghiduri pe furnizori
- Pașii de configurare
- Configurarea dashboard-ului
- Configurarea backend-ului
- Testarea autentificării
- Depanare
- Furnizori acceptați
Introducere și prezentare generală¶
Acest ghid oferă instrucțiuni pas cu pas pentru integrarea Single Sign-On (SSO) cu platforma digna folosind OpenID Connect (OIDC).
Ce este SSO?¶
Single Sign-On permite utilizatorilor să se autentifice în siguranță în digna folosind acreditările enterprise prin furnizori de identitate externi. Utilizatorii se pot autentifica cu acreditările corporative în loc să gestioneze parole digna separate.
Cum funcționează¶
SSO în digna este implementat folosind protocolul OIDC. Mai mulți furnizori de identitate pot fi configurați în paralel prin ajustarea a două fișiere de configurare principale:
dashboard_config.toml— Controlează interfața de autentificare din frontendconfig.toml— Configurează conexiunile OIDC din backend
Furnizori acceptați¶
Exemplele din acest ghid folosesc Microsoft și Google, dar orice furnizor compatibil OIDC poate fi integrat urmând aceeași structură.
Ghiduri pe furnizori¶
Fiecare furnizor are nevoie de aceleași patru valori — un client ID, un client secret, un redirect URI și un URL de discovery — dar fiecare le plasează în alt loc în consola sa de administrare, iar unii au un pas specific pe care ceilalți nu îl au. Ghidurile de mai jos acoperă această jumătate a muncii; această pagină acoperă jumătatea digna, care este identică pentru toți.
| Furnizor | Ghid | Bine de știut |
|---|---|---|
| AD FS | Configurați SSO cu AD FS | Auto-găzduit; singurul furnizor de aici la care controlați serviciul de token-uri |
| Auth0 | Configurați SSO cu Auth0 | URL-ul de discovery este specific fiecărui tenant, iar domeniile personalizate îl modifică |
| Google Workspace | Configurați SSO cu Google Workspace | Ecranul de consimțământ trebuie publicat înainte ca utilizatorii care nu sunt de test să se poată autentifica |
| Keycloak | Configurați SSO cu Keycloak | Auto-găzduit; URL-ul de discovery este specific fiecărui realm |
| Microsoft Entra ID | Configurați SSO cu Microsoft Entra ID | ID-ul tenantului apare în URL-ul de discovery; secretele expiră |
| Okta | Configurați SSO cu Okta | Alegerea serverului de autorizare modifică URL-ul de discovery |
| OneLogin | Configurați SSO cu OneLogin | Tipul aplicației OIDC trebuie ales la creare și nu poate fi schimbat |
| PingOne | Configurați SSO cu PingOne | ID-ul mediului (environment) apare în URL-ul de discovery |
Orice alt furnizor compatibil OIDC funcționează în același mod — consultați Alți furnizori OIDC.
Pașii de configurare¶
Configurarea SSO necesită actualizarea a două fișiere. Această secțiune explică cum se configurează fiecare.
Prezentarea fișierelor de configurare¶
| Fișier | Locație | Scop |
|---|---|---|
| dashboard_config.toml | dashboard/dashboard_config.toml | Interfața de autentificare din frontend |
| config.toml | /config.toml | Conexiunile OIDC din backend |
Ambele fișiere trebuie configurate pentru ca SSO să funcționeze corect.
Configurarea dashboard-ului¶
Locația fișierului¶
Pasul 1: Adăugați furnizorii OIDC¶
Adăugați intrări în array-ul [[login.oidc]] pentru fiecare furnizor de identitate pe care doriți să îl acceptați.
Exemplu cu Microsoft și Google:
[[login.oidc]]
key = "microsoft"
label = "Login with Microsoft"
[[login.oidc]]
key = "google"
label = "Login with Google"
Pasul 2: Configurați opțiunile de autentificare¶
Specificați dacă autentificarea cu parolă trebuie permisă:
Parametrii de configurare¶
Secțiunea [[login.oidc]]¶
| Parametru | Tip | Obligatoriu | Descriere |
|---|---|---|---|
key | string | Da | Identificator unic pentru conexiunea OIDC (trebuie să corespundă cheii din config.toml) |
label | string | Da | Textul afișat pe butonul de autentificare (de ex. „Login with Microsoft”) |
Secțiunea [login]¶
| Parametru | Tip | Implicit | Descriere |
|---|---|---|---|
usePassword | boolean | false | Permite autentificarea cu parolă pe lângă SSO |
Înțelegerea usePassword¶
Dacă usePassword = true: - Ecranul de autentificare afișează butoanele SSO (de ex. „Login with Microsoft”) - Ecranul de autentificare afișează și câmpurile pentru nume de utilizator și parolă - Utilizatorii se pot autentifica prin oricare dintre metode - Permite configurări hibride, în care unii utilizatori folosesc SSO, iar alții parole
Dacă usePassword = false (sau omis): - Ecranul de autentificare afișează doar butoanele SSO - Nu există câmpuri pentru nume de utilizator/parolă - Este disponibilă doar autentificarea OIDC
Sfat
Autentificarea cu parolă este disponibilă doar pentru utilizatorii care au fost creați cu parole folosind comanda digna user add sau prin dashboard.
Exemplu complet¶
[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"
Configurarea backend-ului¶
Locația fișierului¶
(Directorul rădăcină al instalării digna)
Pasul 1: Adăugați secțiunile pentru furnizorii OIDC¶
Fiecare furnizor trebuie să aibă o secțiune dedicată [oidc_clients.<key>]. Cheia trebuie să corespundă valorii key definite în dashboard_config.toml.
Configurația Microsoft¶
[oidc_clients.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"
Configurația Google¶
[oidc_clients.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"
Parametrii de configurare¶
| Parametru | Tip | Obligatoriu | Descriere | Exemplu |
|---|---|---|---|---|
DIGNA_OIDC_CLIENT_ID | string | Da | Client ID de la furnizorul de identitate | abc123xyz789 |
DIGNA_OIDC_CLIENT_SECRET | string | Da | Client secret de la furnizorul de identitate | secret_xyz789abc123 |
DIGNA_OIDC_REDIRECT_URI | string | Da | URL-ul de callback după autentificare | http://localhost:5173/oidc/callback |
DIGNA_OIDC_CONFIGURATION_URL | string | Da | Endpoint-ul de configurare OIDC | https://login.microsoftonline.com/... |
Important
Înlocuiți valorile substituent (<client_id>, <client_secret>, <tenant_id>) cu acreditările reale din portalul pentru dezvoltatori al furnizorului de identitate.
Redirect URI¶
Redirect URI-ul trebuie să fie același în configurația furnizorului de identitate:
Dacă digna este găzduită pe un alt domeniu, actualizați-l corespunzător: - Local: http://localhost:5173/oidc/callback - Producție: https://digna.yourdomain.com/oidc/callback
Exemplu complet¶
[oidc_clients.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_clients.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"
Testarea autentificării¶
După finalizarea configurării, verificați că SSO funcționează corect.
Listă de verificare înainte de testare¶
Înainte de testare, asigurați-vă că:
-
dashboard_config.tomla fost actualizat cu furnizorii OIDC -
config.tomla fost actualizat cu acreditările OIDC - Ambele fișiere au fost salvate
- Acreditările sunt corecte (client ID, client secret)
- Redirect URI-ul corespunde URL-ului implementării dvs.
- Aplicația din furnizorul de identitate este configurată cu redirect URI-ul
Pașii de testare¶
Pasul 1: Reporniți serviciile¶
Reporniți backend-ul digna și serverul web pentru a aplica modificările.
Dacă rulează ca serviciu pe Windows:
Dacă rulează ca serviciu pe Linux sau macOS:
Dacă rulează manual:
Reporniți și serverul web — IIS sau Tomcat pe Windows, nginx sau Apache pe Linux și macOS.
Pasul 2: Deschideți dashboard-ul¶
Deschideți dashboard-ul digna în browser:
(sau URL-ul dashboard-ului configurat de dvs.)
Pasul 3: Verificați butoanele de autentificare¶
Verificați că apar butoanele de autentificare pentru fiecare furnizor configurat:
- Ar trebui să vedeți butonul „Login with Microsoft”
- Ar trebui să vedeți butonul „Login with Google”
- (Dacă usePassword = true) Ar trebui să vedeți câmpurile pentru nume de utilizator/parolă
Dacă butoanele nu apar: - Verificați că dashboard_config.toml a fost salvat - Verificați că serviciul dashboard a fost repornit - Verificați consola browserului (F12) pentru erori
Pasul 4: Testați autentificarea SSO¶
Faceți clic pe unul dintre butoanele SSO (de ex. „Login with Microsoft”):
- Ar trebui să fiți redirecționat către pagina de autentificare a furnizorului de identitate
- Autentificați-vă cu acreditările enterprise
- Ar trebui să fiți redirecționat înapoi către digna
- Ar trebui să fiți autentificat în digna
Pasul 5: Verificați crearea utilizatorului¶
După o autentificare SSO reușită:
- Utilizatorul ar trebui creat automat în digna
- Utilizatorul ar trebui să fie autentificat
- Profilul utilizatorului ar trebui să afișeze datele de la furnizorul de identitate
- Ar trebui să vedeți dashboard-ul digna
Pasul 6: Testați autentificarea cu parolă (dacă este activată)¶
Dacă usePassword = true:
- Deconectați-vă din digna
- Pe pagina de autentificare, introduceți un nume de utilizator și o parolă
- Ar trebui să vă puteți autentifica cu acreditările cu parolă
Depanare¶
Butoanele de autentificare nu apar¶
Simptome: - Butoanele de autentificare OIDC nu sunt vizibile pe pagina de autentificare - Se văd doar câmpurile pentru parolă (dacă usePassword = true)
Cauze și soluții: 1. Verificați că dashboard_config.toml se află în directorul dashboard/ 2. Verificați că secțiunile [[login.oidc]] sunt prezente, cu sintaxa corectă 3. Reporniți serviciul dashboard 4. Goliți memoria cache a browserului (Ctrl+Shift+Delete sau Cmd+Shift+Delete) 5. Verificați consola browserului (F12 → fila Console) pentru erori
Eroare de nepotrivire a redirect URI-ului¶
Simptome: - După clic pe butonul SSO, apare o eroare despre „redirect_uri mismatch” - Eroare „The redirect URI is not registered”
Cauze și soluții: 1. Verificați că DIGNA_OIDC_REDIRECT_URI din config.toml este corect 2. Verificați că redirect URI-ul este înregistrat în setările furnizorului de identitate 3. Asigurați-vă că ambele folosesc URL-uri identice (inclusiv protocolul, domeniul și calea) 4. Verificați dacă există greșeli de scriere în redirect URI 5. Dacă folosiți HTTPS, asigurați-vă că certificatul este valid
Eroare de acreditări client invalide¶
Simptome: - Eroare „Invalid client ID or secret” - Autentificarea eșuează cu o eroare de acreditări
Cauze și soluții: 1. Verificați că DIGNA_OIDC_CLIENT_ID și DIGNA_OIDC_CLIENT_SECRET sunt corecte 2. Asigurați-vă că nu există spații sau caractere speciale în plus 3. Verificați că acreditările nu au expirat și nu au fost revocate 4. Reporniți serviciul backend după actualizarea configurației 5. Verificați în consola furnizorului de identitate că acreditările sunt active
Autentificarea se blochează sau expiră¶
Simptome: - Clic pe butonul SSO nu are niciun efect - Timeout după câteva secunde - Browserul afișează „Failed to connect” sau un mesaj similar
Cauze și soluții: 1. Verificați că backend-ul digna rulează: digna repo check 2. Verificați conectivitatea la rețea către furnizorul de identitate 3. Verificați că DIGNA_OIDC_CONFIGURATION_URL este accesibil 4. Verificați că regulile firewall permit conexiunile HTTPS de ieșire 5. Verificați că backend-ul și dashboard-ul pot comunica între ele
Utilizatorii nu sunt creați automat¶
Simptome: - Autentificarea SSO reușește, dar utilizatorul nu este creat în digna - Apare o eroare de permisiune după autentificarea SSO
Cauze și soluții: 1. Verificați că configurația OIDC este corectă 2. Verificați că permisiunile utilizatorilor sunt configurate 3. Examinați logurile digna pentru mesaje de eroare 4. Reporniți serviciul backend 5. Contactați support@digna.ai dacă problema persistă
Furnizori acceptați¶
Testați și acceptați¶
Următorii furnizori OIDC au fost testați și se știe că funcționează:
| Furnizor | URL de configurare | Ghid de configurare |
|---|---|---|
| AD FS | https://<adfs_host>/adfs/.well-known/openid-configuration | Configurați SSO cu AD FS |
| Auth0 | https://<tenant>.<region>.auth0.com/.well-known/openid-configuration | Configurați SSO cu Auth0 |
| Google Workspace | https://accounts.google.com/.well-known/openid-configuration | Configurați SSO cu Google Workspace |
| Keycloak | https://<host>/realms/<realm>/.well-known/openid-configuration | Configurați SSO cu Keycloak |
| Microsoft Entra ID (Azure AD) | https://login.microsoftonline.com/<tenant_id>/v2.0/.well-known/openid-configuration | Configurați SSO cu Microsoft Entra ID |
| Okta | https://<domain>/.well-known/openid-configuration | Configurați SSO cu Okta |
| OneLogin | https://<subdomain>.onelogin.com/oidc/2/.well-known/openid-configuration | Configurați SSO cu OneLogin |
| PingOne | https://auth.pingone.com/<environment_id>/as/.well-known/openid-configuration | Configurați SSO cu PingOne |
Alți furnizori OIDC¶
Orice furnizor care acceptă OpenID Connect poate fi integrat. Informații necesare:
- Client ID
- Client secret
- URL-ul de configurare OpenID (de obicei la
/.well-known/openid-configuration) - Scope-urile acceptate (de obicei
openid profile email)
Contactați support@digna.ai dacă aveți nevoie de ajutor pentru integrarea unui anumit furnizor.
Bune practici¶
RECOMANDAT: - Folosiți HTTPS în producție (nu HTTP) - Stocați client secret-urile în siguranță (folosiți variabile de mediu, dacă este posibil) - Rotiți secretele periodic - Testați mai întâi într-un mediu care nu este de producție - Documentați ce furnizori sunt configurați - Monitorizați logurile de autentificare pentru activități neobișnuite - Păstrați configurația furnizorului de identitate sincronizată cu configurația digna
DE EVITAT: - Stocarea client secret-urilor în sistemul de control al versiunilor - Utilizarea redirect URI-urilor HTTP în producție - Configurarea mai multor furnizori cu aceeași cheie - Lăsarea acreditărilor implicite/de test în producție - Expunerea fișierelor de configurare care conțin secrete - Amestecarea acreditărilor de dezvoltare cu cele de producție
Suport¶
Aveți nevoie de ajutor cu configurarea SSO?
- E-mail: support@digna.ai
- Documentație: https://docs.digna.ai
- Website: https://www.digna.ai
Ultima actualizare: 30 august 2026
Release: 2026.04
© 2026 digna GmbH — www.digna.ai