OAuth 2
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 l’OIDC ?
OpenID Connect (OIDC) permet à votre application d’authentifier les utilisateurs via DTZ Identity sans gérer directement les mots de passe. Au lieu de gérer les identifiants des utilisateurs, vous les redirigez vers DTZ pour la connexion, puis vous recevez un jeton sécurisé pour accéder à leurs informations.
Parfait pour : applications web, applications mobiles, ou tout service nécessitant une authentification utilisateur sécurisée.
Démarrage rapide
1. Obtenez votre ID de contexte
Dans DTZ, chaque application utilise un “context” comme identifiant. Vous aurez besoin d’un context-{uuid} auquel vos utilisateurs ont accès.
Exemple: context-abc123
Remarque : Dans le système DTZ, à la fois votre
client_idet votreclient_secretsont 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 endpoints pour commencer :
| Purpose | Endpoint |
|---|---|
| Connexion utilisateur | https://identity.dtz.rocks/api/2021-02-21/oauth/authorize |
| Obtenir le token | https://identity.dtz.rocks/api/2021-02-21/oauth/token |
| Infos utilisateur | https://identity.dtz.rocks/api/2021-02-21/oauth/userinfo |
3. Auto-Discovery
La plupart des bibliothèques OAuth peuvent se configurer automatiquement en utilisant le point de découverte de DTZ :
https://identity.dtz.rocks/.well-known/openid-configuration
Comment ça marche
Étape 1 : Rediriger l’utilisateur vers DTZ
When a user wants to sign in, redirect them to:
https://identity.dtz.rocks/api/2021-02-21/oauth/authorize?
response_type=code&
client_id=YOUR_CONTEXT_ID&
redirect_uri=https://yourapp.com/callback&
scope=openid&
state=random-string-for-security
Étape 2 : L’utilisateur se connecte
DTZ gère le processus de connexion :
- Si déjà connecté → redirection immédiate vers votre application
- Si non connecté → affiche le 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=YOUR_CONTEXT_ID" \
-d "client_secret=YOUR_CONTEXT_ID" \
-d "redirect_uri=https://yourapp.com/callback" \
-d "code=THE_CODE_FROM_REDIRECT"
Étape 4 : Obtenir les informations de l’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 YOUR_ACCESS_TOKEN"
Réponse:
{
"sub": "identity-12345678",
"iss": "dtz.rocks",
"contexts": ["abc124"],
"roles": ["https://dtz.rocks/context/admin/abc123..."]
}