Keycloak: OpenID Connect-identityprovider en mappers
Inloggen met Dazr Identity: gratis OpenID Connect, gehost in de EU, met passkeys, e-mailcodes en Google- of Microsoft-accounts achter één knop.
Je hebt drie waarden uit de ontwikkelaarsconsole nodig: de client-ID, het clientgeheim (alleen voor webserver-apps) en de redirect-URI die je hebt geregistreerd. De rest staat in het discovery-document op https://identity.dazr.eu/.well-known/openid-configuration.
Keycloak (identity brokering)
Loggen je apps al in via Keycloak, voeg Dazr Identity dan toe als identity provider. Keycloak toont dan “Sign in with Dazr Identity” op zijn eigen inlogpagina, en je apps blijven met Keycloak praten. Open in de Keycloak-beheerconsole van je realm Identity providers, voeg OpenID Connect v1.0 toe en vul in:
| Instelling | Waarde |
|---|---|
| Alias | dazr (de redirect-URI die je bij Dazr registreert is 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 | uit de ontwikkelaarsconsole van Dazr (webserver-app) |
| Use PKCE | aan, methode S256 |
| Validate signatures | aan, met Use JWKS URL aan en JWKS URL https://identity.dazr.eu/oauth/jwks |
| Scopes | openid profile email, plus organisations als je hieronder organisaties koppelt |
| Backchannel logout | uit: Dazr Identity heeft geen back-channel logout. Uitloggen gaat via de browser naar https://identity.dazr.eu/oauth/logout. |
| Disable user info | uit: de mappers hieronder lezen het user info-antwoord |
| Trust email | aan: Dazr geeft alleen geverifieerde e-mailadressen uit |
| Sync mode | Force, zodat namen en rollen bij elke inlog worden bijgewerkt |
Keycloak koppelt het gebrokerde account aan de Dazr-sub. Stel de first login flow alleen zo in dat bestaande Keycloak-gebruikers via e-mail worden gekoppeld als je realm e-mailadressen zelf verifieert.
Organisaties en rollen koppelen
Als Keycloak Dazr Identity brokert (zie de Keycloak-handleiding), voeg dan mappers toe op het tabblad Mappers van de identity provider, met sync mode Force. Keycloak leest deze paden uit het user info-antwoord, en een pad kan één positie in een lijst noemen: organisations[0] is de eerste organisatie die iemand heeft aangevinkt. Voor een portaal met één klantaccount per persoon is dat genoeg; werken mensen voor meerdere organisaties, laat ze er dan één aanvinken of lees de hele lijst in je app.
| Type mapper | Claim | Resultaat |
|---|---|---|
| Attribute Importer | organisations[0].id | Gebruikersattribuut dazr_org_id: de tenantsleutel |
| Attribute Importer | organisations[0].name | Gebruikersattribuut dazr_org_name |
| Claim to Role | organisations[0].role, claimwaarde owner | Realm- of clientrol tenant_admin |
| Claim to Role | organisations[0].role, claimwaarde admin | Realm- of clientrol tenant_admin |
| Claim to Role | organisations[0].role, claimwaarde member | Realm- of clientrol tenant_user |
| Claim to Role | organisations[0].verification.status, claimwaarde verified | Rol verified_business |
Voeg daarna een mapper van het type User Attribute voor dazr_org_id toe aan de client scope van je app in Keycloak, zodat je app de tenantsleutel krijgt in de eigen tokens van Keycloak, naast de rollen.
sub is pairwise: hetzelfde voor elke app van je organisatie, anders voor elke andere organisatie. Hij verandert nooit voor een persoon, een e-mailadres wel. Sla sub op als sleutel van het account en behandel email als contactgegeven.
Meer voor ontwikkelaars
OntwikkelaarsdocumentatieAlle integratiehandleidingenElke OpenID Connect-bibliotheekPrijzen