Configurați SSO cu Google Workspace¶
Platforma de identitate Google este compatibilă OIDC și folosește un singur URL de discovery (descoperire), bine cunoscut, pentru toți clienții, astfel încât singurele valori specifice organizației sunt client ID-ul și secretul.
Acest ghid acoperă partea Google: crearea clientului OAuth și colectarea valorilor de care digna are nevoie. Partea digna — dashboard_config.toml, testarea și depanarea — este aceeași pentru orice furnizor și este descrisă în Prezentarea Single Sign-On.
Înainte de a începe¶
| Cerință | Note |
|---|---|
| Google Cloud project | Orice proiect din aceeași organizație cu domeniul dvs. Workspace |
| Rol | Editor sau Owner pe proiect |
| digna redirect URI | URL-ul la care utilizatorii revin după autentificare, ex. https://digna.yourdomain.com/oidc/callback |
Pasul 1: Configurați ecranul de consimțământ OAuth¶
Google nu emite acreditări până când nu există ecranul de consimțământ.
- Deschideți Google Cloud Console și selectați proiectul
- Accesați APIs & Services → OAuth consent screen
- Alegeți tipul de utilizator:
- Internal — doar conturile din domeniul dvs. Workspace se pot autentifica. Recomandat.
- External — orice cont Google poate încerca să se autentifice.
- Completați numele aplicației, adresa de e-mail pentru asistența utilizatorilor și adresa de e-mail de contact a dezvoltatorului
- La pasul Scopes, adăugați
openid,.../auth/userinfo.emailși.../auth/userinfo.profile - Salvați
Aplicațiile External trebuie publicate
Un ecran de consimțământ External pornește în starea Testing, în care doar conturile adăugate explicit în lista de utilizatori de test pot finaliza o autentificare. Toți ceilalți văd „digna has not completed the Google verification process”. Fie treceți aplicația în starea In production sub Publishing status, fie folosiți Internal — care nu are o astfel de restricție și este alegerea potrivită pentru o implementare doar pentru Workspace.
Pasul 2: Creați clientul OAuth¶
- Accesați APIs & Services → Credentials
- Faceți clic pe Create Credentials → OAuth client ID
- Setați Application type la Web application
- Dați-i un nume, ex.
digna - Sub Authorized redirect URIs, faceți clic pe Add URI și introduceți:
- Faceți clic pe Create
Authorized JavaScript Origins nu sunt necesare
digna face schimbul codului de autorizare din backend, nu din browser, astfel încât câmpul Authorized JavaScript origins poate fi lăsat gol. Contează doar redirect URI-ul.
Pasul 3: Colectați acreditările¶
Dialogul care apare după creare afișează:
- Client ID — se termină în
.apps.googleusercontent.com→ devineDIGNA_OIDC_CLIENT_ID - Client secret → devine
DIGNA_OIDC_CLIENT_SECRET
Ambele pot fi recuperate și ulterior din pagina de detalii a acreditării, spre deosebire de majoritatea celorlalți furnizori.
Pasul 4: URL-ul de discovery¶
Google folosește un singur URL de discovery pentru toți clienții — nu este nimic de înlocuit:
Pasul 5: Configurați digna¶
dashboard/dashboard_config.toml¶
config.toml¶
[oidc_clients.google]
DIGNA_OIDC_CLIENT_ID = "123456789-abcdefghijklmnopqrstuvwxyz.apps.googleusercontent.com"
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://accounts.google.com/.well-known/openid-configuration"
Cheia (key) din ambele fișiere trebuie să se potrivească — google aici.
Pasul 6: Testați¶
Reporniți backend-ul și serverul web, apoi deschideți dashboard-ul. Consultați Testarea autentificării pentru lista completă de verificări.
Depanarea Google Workspace¶
Error 400: redirect_uri_mismatch¶
URI-ul din DIGNA_OIDC_REDIRECT_URI nu se află în lista Authorized redirect URIs sau diferă printr-un slash final ori prin schemă. Pagina de eroare Google afișează URI-ul primit — comparați-l caracter cu caracter cu cel înregistrat.
Aplicația este blocată / nu a finalizat verificarea¶
Ecranul de consimțământ este External și încă în Testing. Publicați-l sau treceți aplicația la Internal.
Access Blocked: Authorization Error¶
Contul care încearcă să se autentifice se află în afara domeniului dvs. Workspace, în timp ce ecranul de consimțământ este Internal. Acesta este comportamentul intenționat — aplicațiile Internal acceptă doar conturi din organizație.
Modificările durează câteva minute¶
Google propagă asincron modificările acreditărilor și ale ecranului de consimțământ. Un redirect URI nou adăugat poate avea nevoie de câteva minute pentru a intra în vigoare; dacă o modificare pare ignorată, așteptați și reîncercați înainte de a investiga mai departe.
Vezi și¶
- Prezentarea Single Sign-On — referință de configurare, testare și depanare generală
- Google: OpenID Connect