Keycloak: OpenID Connect-identitetsleverandør og mappere

Du trenger tre verdier fra utviklerkonsollen: klient-ID-en, klienthemmeligheten (bare apper med webserver) og omdirigerings-URI-en du registrerte. Resten står i discovery-dokumentet på https://identity.dazr.eu/.well-known/openid-configuration.

Keycloak (identity brokering)

Hvis appene dine allerede logger inn via Keycloak, legger du til Dazr Identity som identitetsleverandør. Keycloak viser da «Sign in with Dazr Identity» på sin egen innloggingsside, og appene dine fortsetter å snakke med Keycloak. Åpne Identity providers i Keycloaks administrasjonskonsoll for realmet ditt, legg til OpenID Connect v1.0 og fyll inn:

InnstillingVerdi
Aliasdazr (omdirigerings-URI-en som skal registreres hos Dazr, er 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 secretfra Dazrs utviklerkonsoll (webserverapp)
Use PKCEpå, metode S256
Validate signaturespå, med Use JWKS URL slått på og JWKS URL https://identity.dazr.eu/oauth/jwks
Scopesopenid profile email pluss organisations hvis du kobler organisasjoner som nedenfor
Backchannel logoutav: Dazr Identity har ingen back-channel logout. Utlogging går via nettleseren til https://identity.dazr.eu/oauth/logout.
Disable user infopå: mapperne nedenfor leser user info-svaret
Trust emailpå: Dazr utsteder bare verifiserte e-postadresser
Sync modeForce, så navn og roller oppdateres ved hver innlogging

Keycloak knytter den brokerte kontoen til Dazr-sub. Sett first login flow til å koble eksisterende Keycloak-brukere via e-post bare hvis realmet ditt selv verifiserer e-postadresser.

Koble organisasjoner og roller

Når Keycloak brokerer Dazr Identity (se Keycloak-veiledningen), legger du til mappers under identitetsleverandørens fane Mappers med sync mode Force. Keycloak leser disse stiene fra user info-svaret, og en sti kan peke på én plass i en liste: organisations[0] er den første organisasjonen personen krysset av. For en portal med én kundekonto per person er det nok; jobber folk for flere organisasjoner, la dem velge én, eller les hele listen i appen din.

MappertypeClaimResultat
Attribute Importerorganisations[0].idBrukerattributt dazr_org_id: tenant-nøkkelen
Attribute Importerorganisations[0].nameBrukerattributt dazr_org_name
Claim to Roleorganisations[0].role, claim-verdi ownerRealm- eller klientrolle tenant_admin
Claim to Roleorganisations[0].role, claim-verdi adminRealm- eller klientrolle tenant_admin
Claim to Roleorganisations[0].role, claim-verdi memberRealm- eller klientrolle tenant_user
Claim to Roleorganisations[0].verification.status, claim-verdi verifiedRolle verified_business

Legg deretter til en mapper av typen User Attribute for dazr_org_id i appens client scope i Keycloak, så appen din mottar tenant-nøkkelen i Keycloaks egne tokener ved siden av rollene.

Mer for utviklere