Configurați SSO cu Auth0¶
Auth0 este compatibil cu OIDC și expune un endpoint de discovery pentru fiecare tenant. Principalul lucru de configurat corect este domeniul tenantului, care apare în URL-ul de discovery și se schimbă dacă activați un domeniu personalizat.
Acest ghid acoperă partea Auth0: crearea aplicației și colectarea valorilor de care are nevoie digna. Partea digna — dashboard_config.toml, testarea și depanarea — este aceeași pentru toți furnizorii și este descrisă în Prezentare generală Single Sign-On.
Înainte de a începe¶
| Cerință | Note |
|---|---|
| Rol Auth0 | Administrator pe tenant |
| Domeniul tenantului | ex. yourcompany.eu.auth0.com — segmentul regiunii contează |
| URI de redirecționare pentru digna | URL-ul la care utilizatorii se întorc după autentificare, ex. https://digna.yourdomain.com/oidc/callback |
Pasul 1: Creați aplicația¶
- Autentificați-vă în Panoul Auth0
- Accesați Applications → Applications
- Click pe Create Application
- Denumiți-o
dignași alegeți Regular Web Applications - Click pe Create
Selectați Regular Web Applications
Single Page Application și Native creează clienți publici fără secret. digna efectuează schimbul de cod din backend-ul său și are nevoie de un client confidențial, deci Regular Web Applications este tipul corect. Spre deosebire de unii furnizori, Auth0 vă permite să schimbați tipul mai târziu din Settings → Application Type.
Pasul 2: Adăugați URL-ul de callback¶
Pe fila Settings a aplicației:
- Găsiți Allowed Callback URLs
- Introduceți URL-ul de callback digna:
- Opțional, setați Allowed Logout URLs la URL-ul dashboard-ului dvs.
- Derulați în jos și click pe Save Changes
Separate prin virgulă, nu prin linii noi
Auth0 acceptă mai multe URL-uri de callback în acest câmp, separate prin virgule. O listă separată doar prin linii noi este citită ca un singur URL corupt și nu se potrivește cu nimic (fără niciun avertisment).
Pasul 3: Colectați acreditările¶
Tot în Settings, în panoul Basic Information:
- Domain → se folosește în URL-ul de discovery
- Client ID → devine
DIGNA_OIDC_CLIENT_ID - Client Secret → devine
DIGNA_OIDC_CLIENT_SECRET(click pentru a-l dezvălui)
Pasul 4: Confirmați tipul de grant¶
- Accesați Settings → Advanced Settings → Grant Types
- Confirmați că Authorization Code este bifat
Este activat implicit pentru Regular Web Applications. Dacă a fost debifat, autentificarea digna eșuează cu unauthorized_client.
Pasul 5: Construiți URL-ul de discovery¶
Înlocuiți Domain din Pasul 3:
De exemplu:
Domeniile personalizate schimbă issuer-ul
Dacă tenantul folosește un domeniu personalizat precum login.yourcompany.com, folosiți acel domeniu în URL-ul de discovery. Amestecarea celor două — domeniul canonic în URL-ul de discovery și domeniul personalizat în browser — produce o nepotrivire a issuer-ului, iar tokenul este respins după o autentificare aparent reușită.
Pasul 6: Configurați digna¶
dashboard/dashboard_config.toml¶
config.toml¶
[oidc.auth0]
DIGNA_OIDC_CLIENT_ID = "aBcDeFgHiJkLmNoPqRsTuVwXyZ123456"
DIGNA_OIDC_CLIENT_SECRET = "<the client secret copied in Step 3>"
DIGNA_OIDC_REDIRECT_URI = "https://digna.yourdomain.com/oidc/callback"
DIGNA_OIDC_CONFIGURATION_URL = "https://yourcompany.eu.auth0.com/.well-known/openid-configuration"
Valoarea key din ambele fișiere trebuie să coincidă — aici este auth0.
Pasul 7: Testați¶
Reporniti backend-ul și serverul web, apoi deschideți dashboard-ul. Vezi Testarea autentificării pentru lista completă de verificări.
Depanare Auth0¶
Neconcordanță a URL-ului de callback¶
Pagina de eroare Auth0 afișează URL-ul pe care l-a primit. Adăugați-l la Allowed Callback URLs, verificând că intrările sunt separate prin virgule.
unauthorized_client¶
Authorization Code nu este activat din Advanced Settings → Grant Types, sau tipul aplicației nu este Regular Web Applications.
Acces refuzat după un login reușit¶
Un Rule, Action sau trigger Post-Login din tenant respinge utilizatorul. Verificați Actions → Flows → Login și jurnalele tenantului din Monitoring → Logs, care arată motivul exact.
Neconcordanță a issuer-ului¶
URL-ul de discovery și domeniul către care a fost trimis browser-ul diferă — de obicei domeniul canonic al tenantului versus un domeniu personalizat. Folosiți unul în mod consecvent.
Vezi și¶
- Prezentare generală Single Sign-On — referință de configurare, testare și depanare generală
- Auth0: OpenID Connect Discovery