Keycloak: OpenID Connect-identitetsudbyder og mappers
Log ind med Dazr Identity: gratis OpenID Connect, hostet i EU, med passkeys, e-mailkoder og Google- eller Microsoft-konti bag én knap.
Du skal bruge tre værdier fra udviklerkonsollen: klient-id’et, klienthemmeligheden (kun webserverapps) og den omdirigerings-URI, du har registreret. Resten står i discovery-dokumentet på https://identity.dazr.eu/.well-known/openid-configuration.
Keycloak (identity brokering)
Hvis dine apps allerede logger ind via Keycloak, så tilføj Dazr Identity som identitetsudbyder. Keycloak viser så “Sign in with Dazr Identity” på sin egen loginside, og dine apps taler fortsat med Keycloak. Åbn Identity providers i Keycloaks administrationskonsol for dit realm, tilføj OpenID Connect v1.0, og udfyld:
| Indstilling | Værdi |
|---|---|
| Alias | dazr (redirect-URI’en, der skal registreres hos Dazr, er 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 | fra Dazrs udviklerkonsol (webserver-app) |
| Use PKCE | til, metode S256 |
| Validate signatures | til, med Use JWKS URL slået til og JWKS URL https://identity.dazr.eu/oauth/jwks |
| Scopes | openid profile email plus organisations, hvis du kobler organisationer som nedenfor |
| Backchannel logout | fra: Dazr Identity har ingen back-channel logout. Logout går via browseren til https://identity.dazr.eu/oauth/logout. |
| Disable user info | fra: mapperne nedenfor læser user info-svaret |
| Trust email | til: Dazr udsteder kun verificerede e-mailadresser |
| Sync mode | Force, så navne og roller opdateres ved hvert login |
Keycloak knytter den brokerede konto til Dazr-sub. Sæt kun first login flow til at koble eksisterende Keycloak-brugere via e-mail, hvis dit realm selv verificerer e-mailadresser.
Tilknyt organisationer og roller
Når Keycloak brokerer Dazr Identity (se Keycloak-guiden), så tilføj mappers under identitetsudbyderens fane Mappers med sync mode Force. Keycloak læser disse stier fra user info-svaret, og en sti kan pege på én plads i en liste: organisations[0] er den første organisation, personen satte flueben ved. Til en portal med én kundekonto pr. person er det nok; arbejder folk for flere organisationer, så lad dem vælge én, eller læs hele listen i din app.
| Mappertype | Claim | Resultat |
|---|---|---|
| Attribute Importer | organisations[0].id | Brugerattribut dazr_org_id: tenant-nøglen |
| Attribute Importer | organisations[0].name | Brugerattribut dazr_org_name |
| Claim to Role | organisations[0].role, claim-værdi owner | Realm- eller klientrolle tenant_admin |
| Claim to Role | organisations[0].role, claim-værdi admin | Realm- eller klientrolle tenant_admin |
| Claim to Role | organisations[0].role, claim-værdi member | Realm- eller klientrolle tenant_user |
| Claim to Role | organisations[0].verification.status, claim-værdi verified | Rolle verified_business |
Tilføj derefter en mapper af typen User Attribute for dazr_org_id til din apps client scope i Keycloak, så din app modtager tenant-nøglen i Keycloaks egne tokens ved siden af rollerne.
sub er parvist: det samme for alle apps i din organisation, forskelligt for alle andre organisationer. Det ændres aldrig for en person, mens en e-mailadresse kan ændres. Gem sub som kontonøgle, og behandl email som kontaktdata.
Mere til udviklere
UdviklerdokumentationAlle integrationsguidesEthvert OpenID Connect-bibliotekPriser