OAuth 2
Usa DTZ Identity como tu proveedor OAuth 2.0 y OpenID Connect (OIDC) para permitir que los usuarios inicien sesión en tus aplicaciones con sus cuentas DTZ.
¿Qué es OIDC?
OpenID Connect (OIDC) permite que tu aplicación autentique a los usuarios a través de DTZ Identity sin manejar contraseñas directamente. En lugar de gestionar las credenciales de los usuarios, los rediriges a DTZ para que inicien sesión y luego recibes un token seguro para acceder a su información.
Perfecto para: Aplicaciones web, aplicaciones móviles o cualquier servicio que necesite autenticación segura de usuarios.
Inicio rápido
1. Obtén tu Context ID
En DTZ, cada aplicación usa un “context” como su identificador. Necesitarás un context-{uuid} al que tus usuarios tengan acceso.
Ejemplo: context-abc123
Nota: En el sistema de DTZ, tanto tu
client_idcomo tuclient_secretson el mismo ID de contexto. Esto simplifica la configuración manteniendo la seguridad.
2. Endpoints esenciales
Solo necesitas estos dos endpoints para empezar:
| Purpose | Endpoint |
|---|---|
| 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 mayoría de las bibliotecas OAuth pueden configurarse automáticamente usando el endpoint de descubrimiento de DTZ:
https://identity.dtz.rocks/.well-known/openid-configuration
Cómo funciona
Paso 1: Redirigir al usuario a DTZ
Cuando un usuario quiere iniciar sesión, redirígelo a:
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
Paso 2: El usuario inicia sesión
DTZ gestiona el proceso de inicio de sesión:
- Si ya ha iniciado sesión → redirección inmediata de vuelta a tu app
- Si no ha iniciado sesión → muestra un formulario de inicio de sesión, luego redirige de vuelta
Paso 3: Intercambiar el código por un token
DTZ redirige de vuelta a tu app con un código. Cámbialo por 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"
Paso 4: Obtener información del usuario
Usa el token de acceso para obtener los detalles del usuario:
curl -X GET https://identity.dtz.rocks/api/2021-02-21/oauth/userinfo \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Respuesta:
{
"sub": "identity-12345678",
"iss": "dtz.rocks",
"contexts": ["abc124"],
"roles": ["https://dtz.rocks/context/admin/abc123..."]
}