Keycloak: poskytovatel identity OpenID Connect a mappery

Potřebujete tři hodnoty z vývojářské konzole: ID klienta, tajný klíč klienta (jen u webových serverových aplikací) a URI přesměrování, které jste zaregistrovali. Vše ostatní je v dokumentu discovery na adrese https://identity.dazr.eu/.well-known/openid-configuration.

Keycloak (identity brokering)

Pokud se vaše aplikace už přihlašují přes Keycloak, přidejte Dazr Identity jako poskytovatele identity. Keycloak pak na své přihlašovací stránce ukáže „Sign in with Dazr Identity“ a vaše aplikace dál komunikují s Keycloakem. V administrační konzoli Keycloak pro váš realm otevřete Identity providers, přidejte OpenID Connect v1.0 a vyplňte:

NastaveníHodnota
Aliasdazr (URI přesměrování k registraci u Dazr je 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 secretz vývojářské konzole Dazr (serverová webová aplikace)
Use PKCEzapnuto, metoda S256
Validate signatureszapnuto, s Use JWKS URL zapnutým a JWKS URL https://identity.dazr.eu/oauth/jwks
Scopesopenid profile email a navíc organisations, pokud mapujete organizace podle návodu níže
Backchannel logoutvypnuto: Dazr Identity nemá back-channel logout. Odhlášení probíhá přes prohlížeč na https://identity.dazr.eu/oauth/logout.
Disable user infovypnuto: mappery níže čtou odpověď user info
Trust emailzapnuto: Dazr vydává jen ověřené e-mailové adresy
Sync modeForce, aby se jména a role aktualizovaly při každém přihlášení

Keycloak propojí zprostředkovaný účet s Dazr sub. First login flow nastavte na propojení existujících uživatelů Keycloak podle e-mailu, jen pokud váš realm e-mailové adresy sám ověřuje.

Mapování organizací a rolí

Když Keycloak zprostředkovává Dazr Identity (viz návod pro Keycloak), přidejte mappery na kartě Mappers poskytovatele identity, se sync mode Force. Keycloak tyto cesty čte z odpovědi user info a cesta může označit jednu pozici v seznamu: organisations[0] je první organizace, kterou osoba zaškrtla. Pro portál s jedním zákaznickým účtem na osobu to stačí; pokud lidé pracují pro více organizací, nechte je zaškrtnout jednu, nebo čtěte celý seznam ve své aplikaci.

Typ mapperuClaimVýsledek
Attribute Importerorganisations[0].idUživatelský atribut dazr_org_id: klíč tenanta
Attribute Importerorganisations[0].nameUživatelský atribut dazr_org_name
Claim to Roleorganisations[0].role, hodnota claimu ownerRole realmu nebo klienta tenant_admin
Claim to Roleorganisations[0].role, hodnota claimu adminRole realmu nebo klienta tenant_admin
Claim to Roleorganisations[0].role, hodnota claimu memberRole realmu nebo klienta tenant_user
Claim to Roleorganisations[0].verification.status, hodnota claimu verifiedRole verified_business

Pak přidejte mapper User Attribute pro dazr_org_id do client scope své aplikace v Keycloaku, aby vaše aplikace dostávala klíč tenanta ve vlastních tokenech Keycloaku, vedle rolí.

Další informace pro vývojáře