Keycloak: furnizor de identitate OpenID Connect și mappere
Autentificare cu Dazr Identity: OpenID Connect gratuit, găzduit în UE, cu passkey-uri, coduri prin e-mail și conturi Google sau Microsoft în spatele unui singur buton.
Aveți nevoie de trei valori din consola pentru dezvoltatori: ID-ul de client, secretul de client (doar pentru aplicațiile cu server web) și URI-ul de redirecționare înregistrat. Restul se află în documentul de discovery de la https://identity.dazr.eu/.well-known/openid-configuration.
Keycloak (identity brokering)
Dacă aplicațiile dumneavoastră se autentifică deja prin Keycloak, adăugați Dazr Identity ca furnizor de identitate. Keycloak afișează atunci „Sign in with Dazr Identity” pe propria pagină de autentificare, iar aplicațiile continuă să comunice cu Keycloak. În consola de administrare Keycloak a realmului, deschideți Identity providers, adăugați OpenID Connect v1.0 și completați:
| Setare | Valoare |
|---|---|
| Alias | dazr (URI-ul de redirecționare de înregistrat la Dazr este https://keycloak.example.eu/realms/<realm>/broker/dazr/endpoint) |
| Display name | Dazr Identity |
| Discovery endpoint | https://identity.dazr.eu/.well-known/openid-configuration |
| Client authentication | Client secret sent as basic auth |
| Client ID and Client secret | din consola pentru dezvoltatori Dazr (aplicație de server web) |
| Use PKCE | activat, metoda S256 |
| Validate signatures | activat, cu Use JWKS URL activat și JWKS URL https://identity.dazr.eu/oauth/jwks |
| Domenii (scopes) | openid profile email, plus organisations dacă legați organizațiile ca mai jos |
| Backchannel logout | dezactivat: Dazr Identity nu are back-channel logout. Deconectarea trece prin browser către https://identity.dazr.eu/oauth/logout. |
| Disable user info | dezactivat: mapperii de mai jos citesc răspunsul user info |
| Trust email | activat: Dazr emite doar adrese de e-mail verificate |
| Sync mode | Force, ca numele și rolurile să se actualizeze la fiecare autentificare |
Keycloak leagă contul federat de sub de la Dazr. Configurați first login flow să lege utilizatorii Keycloak existenți după e-mail doar dacă realmul dumneavoastră verifică singur adresele de e-mail.
Maparea organizațiilor și a rolurilor
Când Keycloak face brokering pentru Dazr Identity (vedeți ghidul Keycloak), adăugați mapperi în fila Mappers a furnizorului de identitate, cu sync mode Force. Keycloak citește aceste căi din răspunsul user info, iar o cale poate indica o poziție dintr-o listă: organisations[0] este prima organizație bifată de persoană. Pentru un portal cu un cont de client per persoană este suficient; dacă oamenii lucrează pentru mai multe organizații, cereți-le să bifeze una singură sau citiți lista completă în aplicație.
| Tip de mapper | Claim | Rezultat |
|---|---|---|
| Attribute Importer | organisations[0].id | Atribut de utilizator dazr_org_id: cheia tenantului |
| Attribute Importer | organisations[0].name | Atribut de utilizator dazr_org_name |
| Claim to Role | organisations[0].role, valoarea claimului owner | Rol de realm sau de client tenant_admin |
| Claim to Role | organisations[0].role, valoarea claimului admin | Rol de realm sau de client tenant_admin |
| Claim to Role | organisations[0].role, valoarea claimului member | Rol de realm sau de client tenant_user |
| Claim to Role | organisations[0].verification.status, valoarea claimului verified | Rol verified_business |
Apoi adăugați un mapper User Attribute pentru dazr_org_id în client scope-ul aplicației din Keycloak, ca aplicația să primească cheia tenantului în tokenurile proprii ale Keycloak, lângă roluri.
sub este pereche: același pentru fiecare aplicație a organizației dumneavoastră, diferit pentru orice altă organizație. Nu se schimbă niciodată pentru o persoană, în timp ce o adresă de e-mail se poate schimba. Stocați sub drept cheie a contului și tratați email ca dată de contact.
Mai mult pentru dezvoltatori
Documentație pentru dezvoltatoriToate ghidurile de integrareOrice bibliotecă OpenID ConnectPrețuri