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.
What is 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 les redirigez vers DTZ pour la connexion, puis recevez un token sécurisé pour accéder à leurs informations.
Idéal pour : applications web, applications mobiles ou tout service nécessitant une authentification utilisateur sécurisée.
Quick Start
1. Get Your Context ID
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
Remarque : Dans le système DTZ, votre
client_idet votreclient_secretsont tous deux le même ID de contexte. Cela simplifie la configuration tout en conservant la sécurité.
2. Essential Endpoints
Vous n’avez besoin que de ces deux endpoints pour commencer :
| Objet | Point de terminaison |
|---|---|
| User Login | https://identity.dtz.rocks/api/2021-02-21/oauth/authorize |
| Get Token | https://identity.dtz.rocks/api/2021-02-21/oauth/token |
| User Info | 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 l’endpoint de découverte de DTZ :
https://identity.dtz.rocks/.well-known/openid-configuration
How It Works
Step 1: Redirect User to 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
Step 2: User Signs In
DTZ gère le processus d’authentification :
- Si déjà connecté → redirection immédiate vers votre application
- Si non connecté → affiche le formulaire de connexion, puis redirige
Step 3: Exchange Code for Token
DTZ redirige vers votre application avec un code. Échangez-le contre un token :
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"
Step 4: Get User Information
Utilisez le token d’accès pour obtenir les informations 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..."]
}