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 usuarios a través de DTZ Identity sin manejar contraseñas directamente. En lugar de gestionar las credenciales del usuario, rediriges a los usuarios a DTZ para iniciar 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 “contexto” como 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 context ID. Esto simplifica la configuración manteniendo la seguridad.
2. Endpoints Esenciales
Solo necesitas estos dos endpoints para comenzar:
| Propósito | Endpoint |
|---|---|
| Inicio de Sesión de Usuario | https://identity.dtz.rocks/api/2021-02-21/oauth/authorize |
| Obtener Token | https://identity.dtz.rocks/api/2021-02-21/oauth/token |
| Información de Usuario | https://identity.dtz.rocks/api/2021-02-21/oauth/userinfo |
3. Auto-Descubrimiento
La mayoría de las librerías OAuth pueden autoconfigurarse 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: Usuario Inicia Sesión
DTZ maneja el proceso de inicio de sesión:
- Si ya está iniciado sesión → redirección inmediata de vuelta a tu app
- Si no ha iniciado sesión → muestra el formulario de login y luego redirige de vuelta
Paso 3: Intercambiar Código por 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 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..."]
}