Keycloak: OpenID Connect-identitetsleverandør og mappere
Innlogging med Dazr Identity: gratis OpenID Connect, driftet i EU, med passnøkler, e-postkoder og Google- eller Microsoft-kontoer bak én knapp.
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:
| Innstilling | Verdi |
|---|---|
| Alias | dazr (omdirigerings-URI-en som 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 utviklerkonsoll (webserverapp) |
| Use PKCE | på, metode S256 |
| Validate signatures | på, med Use JWKS URL slått på og JWKS URL https://identity.dazr.eu/oauth/jwks |
| Scopes | openid profile email pluss organisations hvis du kobler organisasjoner som nedenfor |
| Backchannel logout | av: Dazr Identity har ingen back-channel logout. Utlogging går via nettleseren til https://identity.dazr.eu/oauth/logout. |
| Disable user info | på: mapperne nedenfor leser user info-svaret |
| Trust email | på: Dazr utsteder bare verifiserte e-postadresser |
| Sync mode | Force, 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.
| Mappertype | Claim | Resultat |
|---|---|---|
| Attribute Importer | organisations[0].id | Brukerattributt dazr_org_id: tenant-nøkkelen |
| Attribute Importer | organisations[0].name | Brukerattributt dazr_org_name |
| Claim to Role | organisations[0].role, claim-verdi owner | Realm- eller klientrolle tenant_admin |
| Claim to Role | organisations[0].role, claim-verdi admin | Realm- eller klientrolle tenant_admin |
| Claim to Role | organisations[0].role, claim-verdi member | Realm- eller klientrolle tenant_user |
| Claim to Role | organisations[0].verification.status, claim-verdi verified | Rolle 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.
sub er parvis: den samme for alle apper i organisasjonen din, forskjellig for alle andre organisasjoner. Den endres aldri for en person, mens en e-postadresse kan endres. Lagre sub som kontonøkkel og behandle email som kontaktopplysning.
Mer for utviklere
UtviklerdokumentasjonAlle integrasjonsveiledningerHvilket som helst OpenID Connect-bibliotekPriser