Keycloak : fournisseur d’identité OpenID Connect et mappers
Connexion avec Dazr Identity : OpenID Connect gratuit, hébergé dans l’UE, avec passkeys, codes par e-mail et comptes Google ou Microsoft derrière un seul bouton.
Il vous faut trois valeurs de la console développeurs : l’ID client, le secret client (applications serveur web uniquement) et l’URI de redirection que vous avez enregistrée. Le reste se trouve dans le document de découverte à l’adresse https://identity.dazr.eu/.well-known/openid-configuration.
Keycloak (identity brokering)
Si vos applications se connectent déjà via Keycloak, ajoutez Dazr Identity comme fournisseur d’identité. Keycloak affiche alors « Sign in with Dazr Identity » sur sa propre page de connexion et vos applications continuent de parler à Keycloak. Dans la console d’administration Keycloak de votre realm, ouvrez Identity providers, ajoutez OpenID Connect v1.0 et renseignez :
| Réglage | Valeur |
|---|---|
| Alias | dazr (l’URI de redirection à enregistrer chez Dazr est 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 | depuis la console développeurs de Dazr (application serveur web) |
| Use PKCE | activé, méthode S256 |
| Validate signatures | activé, avec Use JWKS URL activé et JWKS URL https://identity.dazr.eu/oauth/jwks |
| Scopes | openid profile email, plus organisations si vous reliez les organisations comme ci-dessous |
| Backchannel logout | désactivé : Dazr Identity n’a pas de back-channel logout. La déconnexion passe par le navigateur vers https://identity.dazr.eu/oauth/logout. |
| Disable user info | désactivé : les mappers ci-dessous lisent la réponse user info |
| Trust email | activé : Dazr ne délivre que des adresses e-mail vérifiées |
| Sync mode | Force, pour que noms et rôles soient mis à jour à chaque connexion |
Keycloak rattache le compte fédéré au sub Dazr. Ne réglez le first login flow pour relier les utilisateurs Keycloak existants par e-mail que si votre realm vérifie lui-même les adresses e-mail.
Associer organisations et rôles
Quand Keycloak fait office de broker pour Dazr Identity (voir le guide Keycloak), ajoutez des mappers dans l’onglet Mappers du fournisseur d’identité, avec le sync mode Force. Keycloak lit ces chemins dans la réponse user info, et un chemin peut désigner une position dans une liste : organisations[0] est la première organisation cochée par la personne. Pour un portail avec un compte client par personne, cela suffit ; si des personnes travaillent pour plusieurs organisations, faites-leur en cocher une seule, ou lisez la liste complète dans votre application.
| Type de mapper | Claim | Résultat |
|---|---|---|
| Attribute Importer | organisations[0].id | Attribut utilisateur dazr_org_id : la clé du tenant |
| Attribute Importer | organisations[0].name | Attribut utilisateur dazr_org_name |
| Claim to Role | organisations[0].role, valeur du claim owner | Rôle de realm ou de client tenant_admin |
| Claim to Role | organisations[0].role, valeur du claim admin | Rôle de realm ou de client tenant_admin |
| Claim to Role | organisations[0].role, valeur du claim member | Rôle de realm ou de client tenant_user |
| Claim to Role | organisations[0].verification.status, valeur du claim verified | Rôle verified_business |
Ajoutez ensuite un mapper User Attribute pour dazr_org_id au client scope de votre application dans Keycloak, pour que votre application reçoive la clé du tenant dans les jetons de Keycloak, à côté des rôles.
sub est pairwise : le même pour chaque application de votre organisation, différent pour toute autre organisation. Il ne change jamais pour une personne, alors qu’une adresse e-mail peut changer. Enregistrez sub comme clé du compte et traitez email comme une donnée de contact.
Plus pour les développeurs
Documentation développeursTous les guides d’intégrationToute bibliothèque OpenID ConnectTarifs