OAuth 2.0 & OpenID Connect
Utilisez DTZ Identity comme fournisseur OAuth 2.0 et OpenID Connect (OIDC) pour permettre aux utilisateurs de se connecter à vos applications avec leurs comptes DTZ.
Qu’est-ce que OIDC ?
OpenID Connect (OIDC) permet à votre application d’authentifier les utilisateurs via DTZ Identity sans gérer directement les mots de passe. Plutôt que de gérer les identifiants des utilisateurs, vous redirigez ces derniers vers DTZ pour la connexion, puis vous recevez un jeton sécurisé pour accéder à leurs informations.
Parfait pour : les applications web, les applications mobiles ou tout service nécessitant une authentification sécurisée des utilisateurs.
Démarrage rapide
1. Obtenez votre ID de contexte
Dans DTZ, chaque application utilise un « contexte » comme identifiant. Vous aurez besoin d’un context-{uuid}
auquel vos utilisateurs ont accès.
Exemple : context-abc123
Note : Dans le système DTZ, votre
client_id
et votreclient_secret
sont tous deux le même ID de contexte. Cela simplifie la configuration tout en maintenant la sécurité.
2. Points de terminaison essentiels
Vous n’avez besoin que de ces deux points de terminaison pour commencer :
Objet | Point de terminaison |
---|---|
Connexion utilisateur | https://identity.dtz.rocks/api/2021-02-21/oauth/authorize |
Obtenir le jeton | https://identity.dtz.rocks/api/2021-02-21/oauth/token |
Informations utilisateur | https://identity.dtz.rocks/api/2021-02-21/oauth/userinfo |
3. Auto-découverte
La plupart des bibliothèques OAuth peuvent se configurer automatiquement en utilisant le point de terminaison de découverte DTZ :
https://identity.dtz.rocks/.well-known/openid-configuration
Comment ça fonctionne
Étape 1 : Rediriger l’utilisateur vers DTZ
Lorsqu’un utilisateur souhaite se connecter, redirigez-le vers :
https://identity.dtz.rocks/api/2021-02-21/oauth/authorize?
response_type=code&
client_id=VOTRE_ID_DE_CONTEXTE&
redirect_uri=https://votreapp.com/callback&
scope=openid&
state=chaine-aleatoire-pour-la-securite
Étape 2 : L’utilisateur se connecte
DTZ gère le processus de connexion :
- Si déjà connecté → redirection immédiate vers votre application
- Sinon → affichage du formulaire de connexion, puis redirection
Étape 3 : Échanger le code contre un jeton
DTZ redirige vers votre application avec un code. Échangez-le contre un jeton :
curl -X POST https://identity.dtz.rocks/api/2021-02-21/oauth/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=authorization_code" \
-d "client_id=VOTRE_ID_DE_CONTEXTE" \
-d "client_secret=VOTRE_ID_DE_CONTEXTE" \
-d "redirect_uri=https://votreapp.com/callback" \
-d "code=LE_CODE_DE_LA_REDIRECTION"
Étape 4 : Obtenir les informations utilisateur
Utilisez le jeton d’accès pour obtenir les détails de l’utilisateur :
curl -X GET https://identity.dtz.rocks/api/2021-02-21/oauth/userinfo \
-H "Authorization: Bearer VOTRE_JETON_D_ACCES"
Réponse :
{
"sub": "identity-12345678",
"iss": "dtz.rocks",
"contexts": ["abc124"],
"roles": ["https://dtz.rocks/context/admin/abc123..."]
}