Keycloak: OpenID-Connect-Identity-Provider und Mapper
Anmeldung mit Dazr Identity: kostenloses OpenID Connect mit Hosting in der EU, mit Passkeys, E-Mail-Codes und Google- oder Microsoft-Konten hinter einem Button.
Sie brauchen drei Werte aus der Entwicklerkonsole: die Client-ID, das Client-Secret (nur für Webserver-Apps) und die registrierte Weiterleitungs-URI. Alles Weitere steht im Discovery-Dokument unter https://identity.dazr.eu/.well-known/openid-configuration.
Keycloak (Identity Brokering)
Wenn sich Ihre Apps bereits über Keycloak anmelden, fügen Sie Dazr Identity als Identity Provider hinzu. Keycloak zeigt dann „Sign in with Dazr Identity“ auf seiner eigenen Anmeldeseite, und Ihre Apps sprechen weiter mit Keycloak. Öffnen Sie in der Keycloak-Admin-Konsole Ihres Realms Identity providers, fügen Sie OpenID Connect v1.0 hinzu und tragen Sie ein:
| Einstellung | Wert |
|---|---|
| Alias | dazr (die bei Dazr zu registrierende Weiterleitungs-URI ist 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 und Client-Secret | aus der Dazr-Entwicklerkonsole (Web-Server-App) |
| Use PKCE | an, Methode S256 |
| Validate signatures | an, mit Use JWKS URL an und JWKS URL https://identity.dazr.eu/oauth/jwks |
| Scopes | openid profile email, dazu organisations, wenn Sie unten Organisationen abbilden |
| Backchannel logout | aus: Dazr Identity hat kein Back-Channel-Logout. Die Abmeldung läuft über den Browser zu https://identity.dazr.eu/oauth/logout. |
| Disable user info | aus: Die Mapper unten lesen die Antwort des User-Info-Endpunkts |
| Trust email | an: Dazr gibt nur bestätigte E-Mail-Adressen aus |
| Sync mode | Force, damit Namen und Rollen bei jeder Anmeldung aktualisiert werden |
Keycloak verknüpft das gebrokerte Konto über das Dazr-sub. Stellen Sie den First Login Flow nur dann so ein, dass bestehende Keycloak-Nutzer per E-Mail verknüpft werden, wenn Ihr Realm E-Mail-Adressen selbst bestätigt.
Organisationen und Rollen zuordnen
Wenn Keycloak Dazr Identity brokert (siehe die Keycloak-Anleitung), fügen Sie im Tab Mappers des Identity Providers Mapper hinzu, mit Sync Mode Force. Keycloak liest diese Pfade aus der User-Info-Antwort, und ein Pfad kann eine Position in einer Liste nennen: organisations[0] ist die erste Organisation, die die Person angekreuzt hat. Für ein Portal mit einem Kundenkonto pro Person reicht das; arbeiten Menschen für mehrere Organisationen, lassen Sie sie eine ankreuzen oder lesen Sie die ganze Liste in Ihrer App.
| Mapper-Typ | Claim | Ergebnis |
|---|---|---|
| Attribute Importer | organisations[0].id | Nutzerattribut dazr_org_id: der Mandantenschlüssel |
| Attribute Importer | organisations[0].name | Nutzerattribut dazr_org_name |
| Claim to Role | organisations[0].role, Claim-Wert owner | Realm- oder Client-Rolle tenant_admin |
| Claim to Role | organisations[0].role, Claim-Wert admin | Realm- oder Client-Rolle tenant_admin |
| Claim to Role | organisations[0].role, Claim-Wert member | Realm- oder Client-Rolle tenant_user |
| Claim to Role | organisations[0].verification.status, Claim-Wert verified | Rolle verified_business |
Fügen Sie dann einen Mapper vom Typ User Attribute für dazr_org_id zum Client Scope Ihrer App in Keycloak hinzu, damit Ihre App den Mandantenschlüssel in Keycloaks eigenen Tokens erhält, neben den Rollen.
sub ist pairwise: gleich für jede App Ihrer Organisation, anders für jede andere Organisation. Er ändert sich für eine Person nie, eine E-Mail-Adresse dagegen schon. Speichern Sie sub als Schlüssel des Kontos und behandeln Sie email als Kontaktangabe.
Mehr für Entwickler
EntwicklerdokumentationAlle IntegrationsanleitungenJede OpenID-Connect-BibliothekPreise