Keycloak: OpenID Connect-identitetsleverantör och mappers

Du behöver tre värden från utvecklarkonsolen: klient-id:t, klienthemligheten (bara webbserverappar) och den omdirigerings-URI du registrerade. Resten finns i discovery-dokumentet på https://identity.dazr.eu/.well-known/openid-configuration.

Keycloak (identity brokering)

Om dina appar redan loggar in via Keycloak lägger du till Dazr Identity som identitetsleverantör. Keycloak visar då ”Sign in with Dazr Identity” på sin egen inloggningssida, och dina appar fortsätter att prata med Keycloak. Öppna Identity providers i Keycloaks administrationskonsol för ditt realm, lägg till OpenID Connect v1.0 och fyll i:

InställningVärde
Aliasdazr (omdirigerings-URI:n som ska registreras hos Dazr är https://keycloak.example.eu/realms/<realm>/broker/dazr/endpoint)
Display nameDazr Identity
Discovery endpointhttps://identity.dazr.eu/.well-known/openid-configuration
Client authenticationClient secret sent as basic auth
Client ID and Client secretfrån Dazrs utvecklarkonsol (webbserverapp)
Use PKCEpå, metod S256
Validate signaturespå, med Use JWKS URL påslaget och JWKS URL https://identity.dazr.eu/oauth/jwks
Scopesopenid profile email plus organisations om du kopplar organisationer enligt nedan
Backchannel logoutav: Dazr Identity har ingen back-channel logout. Utloggning sker via webbläsaren till https://identity.dazr.eu/oauth/logout.
Disable user infopå: mapparna nedan läser user info-svaret
Trust emailpå: Dazr utfärdar bara verifierade e-postadresser
Sync modeForce, så att namn och roller uppdateras vid varje inloggning

Keycloak knyter det brokerade kontot till Dazr-sub. Ställ bara in first login flow så att befintliga Keycloak-användare kopplas via e-post om ditt realm själv verifierar e-postadresser.

Koppla organisationer och roller

När Keycloak brokerar Dazr Identity (se Keycloak-guiden) lägger du till mappers under identitetsleverantörens flik Mappers med sync mode Force. Keycloak läser dessa sökvägar från user info-svaret, och en sökväg kan peka på en plats i en lista: organisations[0] är den första organisationen som personen bockade för. För en portal med ett kundkonto per person räcker det; arbetar människor för flera organisationer, låt dem välja en eller läs hela listan i din app.

MappertypClaimResultat
Attribute Importerorganisations[0].idAnvändarattribut dazr_org_id: tenant-nyckeln
Attribute Importerorganisations[0].nameAnvändarattribut dazr_org_name
Claim to Roleorganisations[0].role, claim-värde ownerRealm- eller klientroll tenant_admin
Claim to Roleorganisations[0].role, claim-värde adminRealm- eller klientroll tenant_admin
Claim to Roleorganisations[0].role, claim-värde memberRealm- eller klientroll tenant_user
Claim to Roleorganisations[0].verification.status, claim-värde verifiedRoll verified_business

Lägg sedan till en mapper av typen User Attribute för dazr_org_id i din apps client scope i Keycloak, så att din app får tenant-nyckeln i Keycloaks egna token bredvid rollerna.

Mer för utvecklare