Skip to Content

Configuración Avanzada de OAuth2

Auris admite cuatro capacidades avanzadas de OAuth2 más allá del flujo estándar de Authorization Code + PKCE: Device Authorization Flow, Client-Initiated Backchannel Authentication (CIBA), DPoP (Demonstration of Proof-of-Possession) e Intercambio de Tokens. Cada característica se configura por aplicación y puede habilitarse de forma independiente.

Estas características abordan escenarios empresariales como la autenticación en dispositivos con entrada limitada (smart TVs, herramientas CLI), autenticación iniciada por el servidor (centros de llamadas, aprobaciones en quioscos), vinculación criptográfica de tokens al remitente, y delegación de identidad controlada.

Accede desde Consola → Aplicaciones → selecciona una aplicación → pestaña Configuración.


Device Authorization Flow (RFC 8628)

El Device Authorization Flow permite que los usuarios se autentiquen en dispositivos que no disponen de navegador o tienen capacidades de entrada limitadas. El dispositivo muestra un código corto que el usuario introduce en otro dispositivo (teléfono u ordenador) para autorizar la sesión.

Habilitar Device Flow

Abrir la configuración de la aplicación

Ve a Consola → Aplicaciones y haz clic en la aplicación que deseas configurar. Navega a la pestaña Configuración.

Habilitar Device Flow

Activa Habilitar Device Flow.

Configurar los ajustes

AjustePor defectoDescripción
Intervalo de sondeo5 segundosCon qué frecuencia debe sondear el dispositivo el endpoint de tokens para obtener el estado de autorización. Un valor demasiado bajo aumenta la carga del servidor.
Duración del código600 segundos (10 min)Cuánto tiempo permanece válido el código de usuario. Tras su expiración, el dispositivo debe solicitar un nuevo código.
Longitud del código de usuario8 caracteresLongitud del código mostrado al usuario. Los códigos más largos son más seguros pero más difíciles de escribir.

Guardar

Haz clic en Guardar para aplicar la configuración.

URI de Verificación

Tras habilitar Device Flow, Auris proporciona un URI de Verificación para tu aplicación. Esta es la URL que muestras a los usuarios junto con el código del dispositivo. El formato es:

https://auth.yourdomain.com/hosted/device

Tu aplicación de dispositivo debe mostrar tanto el URI de verificación como el código de usuario, por ejemplo:

Para iniciar sesión, visita: https://auth.yourdomain.com/hosted/device Introduce el código: ABCD-EFGH

El URI de verificación es el mismo para todas las aplicaciones de tu tenant. El código de usuario identifica de forma única la sesión de autorización del dispositivo, por lo que no se necesita una URL específica por aplicación.

Cómo Funciona

  1. El dispositivo solicita un código de dispositivo a POST /api/oauth/device/authorize
  2. El usuario visita el URI de verificación e introduce el código
  3. El usuario se autentica normalmente (contraseña, MFA, SSO — lo que requiera tu tenant)
  4. El dispositivo sondea POST /api/auth/token con grant_type=urn:ietf:params:oauth:grant-type:device_code hasta que el usuario complete la autenticación
  5. Una vez autorizado, el dispositivo recibe los tokens de acceso y de actualización
POST/api/oauth/device/authorize
POST/api/auth/token

Client-Initiated Backchannel Authentication (CIBA)

CIBA permite la autenticación de servidor a servidor donde la parte dependiente inicia la autenticación sin que el usuario esté presente en la aplicación. El usuario recibe una notificación (SMS o email) y aprueba el inicio de sesión en su propio dispositivo.

Los casos de uso típicos incluyen la autenticación en centros de llamadas (“hemos enviado una notificación a tu teléfono — por favor apruébala para verificar tu identidad”) y la re-autenticación en segundo plano para sesiones de larga duración.

Habilitar CIBA

Abrir la configuración de la aplicación

Ve a Consola → Aplicaciones y selecciona la aplicación. Navega a la pestaña Configuración.

Habilitar CIBA

Activa Habilitar CIBA.

Configurar los ajustes de notificación

AjustePor defectoDescripción
Modo de NotificaciónPollCómo recibe la parte dependiente el resultado de la autenticación. Ver Modos de Notificación más abajo.
Canal de NotificaciónEmailCómo se notifica al usuario de la autenticación pendiente: SMS o Email.
Duración de la Solicitud300 segundos (5 min)Cuánto tiempo es válida la solicitud de autenticación antes de expirar.
Modo de Entrega de TokenPollCómo recibe el cliente los tokens finales. Opciones: poll, ping, push.

Configurar la URL de callback (solo modos ping/push)

Si usas el modo de notificación ping o push, introduce la URL de Callback donde Auris debe enviar el resultado de la autenticación.

Guardar

Haz clic en Guardar para aplicar la configuración.

Modos de Notificación

ModoComportamiento
PollLa parte dependiente sondea el endpoint de tokens a intervalos hasta que el usuario responde. El más sencillo de implementar.
PingAuris envía una notificación a la URL de callback cuando el usuario responde; luego la parte dependiente llama al endpoint de tokens para recuperar los tokens.
PushAuris envía los tokens directamente a la URL de callback cuando el usuario los aprueba. La parte dependiente no necesita sondear.

El modo push entrega los tokens directamente a tu URL de callback. Asegúrate de que este endpoint está protegido con TLS y valida la firma de la solicitud entrante. Si la URL de callback se ve comprometida, un atacante podría interceptar los tokens.

POST/api/oauth/backchannel/authorize

DPoP (Demonstration of Proof-of-Possession) — RFC 9449

DPoP vincula los tokens de acceso a un cliente específico exigiendo al cliente que demuestre la posesión de una clave privada en cada solicitud. Esto previene el robo y la repetición de tokens — incluso si un token de acceso es interceptado, no puede usarse sin la clave privada correspondiente.

Habilitar DPoP

Abrir la configuración de la aplicación

Navega a Consola → Aplicaciones → selecciona la aplicación → pestaña Configuración.

Habilitar DPoP

Activa Habilitar DPoP.

Configurar los ajustes de DPoP

AjustePor defectoDescripción
Habilitar DPoPDesactivadoPermite a los clientes usar pruebas DPoP al solicitar tokens.
Requerir DPoPDesactivadoCuando está habilitado, Auris rechaza las solicitudes de token que no incluyan una prueba DPoP válida. Solo habilítalo tras confirmar que todos los clientes admiten DPoP.
Requerir NoncesDesactivadoAñade nonces emitidos por el servidor al flujo DPoP para protección contra repetición. Aumenta la seguridad pero añade un viaje de ida y vuelta adicional.

Guardar

Haz clic en Guardar para aplicar.

Cómo Funciona DPoP

  1. El cliente genera un par de claves asimétricas (habitualmente ECDSA P-256)
  2. En cada solicitud de token, el cliente crea un JWT de prueba DPoP firmado con su clave privada, que contiene el método HTTP, la URL y un identificador único
  3. Auris verifica la prueba y vincula el token emitido a la clave pública del cliente (huella JWK)
  4. En las llamadas a la API posteriores, el cliente incluye tanto el token de acceso como una cabecera de prueba DPoP actualizada
  5. Los servidores de recursos verifican que el claim jkt (JWK Thumbprint) del token coincide con la prueba DPoP

La configuración de DPoP también aparece en la página de detalle de la aplicación bajo la sección Seguridad, proporcionando acceso rápido a los mismos ajustes desde múltiples rutas de navegación.


Intercambio de Tokens (RFC 8693)

El Intercambio de Tokens permite que un servicio intercambie un token de acceso por un nuevo token con diferentes scopes, sujeto o audiencia. Esto admite dos patrones: suplantación (actuar como otro usuario) y delegación (actuar en nombre de otro usuario manteniendo la identidad original).

Habilitar el Intercambio de Tokens

Abrir la configuración de la aplicación

Navega a Consola → Aplicaciones → selecciona la aplicación → pestaña Configuración.

Habilitar el Intercambio de Tokens

Activa Habilitar Intercambio de Tokens.

Seleccionar los tipos de intercambio permitidos

TipoPermiso RequeridoDescripción
Suplantaciónimpersonate:usersEl token resultante tiene al usuario objetivo como sujeto. La identidad original no se conserva. Se usa en escenarios de soporte administrativo.
Delegacióndelegate:tokensEl token resultante incluye un claim act (actor) que conserva la identidad del solicitante original. El sujeto es el usuario objetivo. Se usa en cadenas de delegación de servicio a servicio.

Guardar

Haz clic en Guardar para aplicar.

La suplantación es una capacidad poderosa. Solo concede el permiso impersonate:users a aplicaciones y roles de alta confianza. Todos los intercambios de tokens quedan registrados en el log de auditoría con las identidades original y objetivo.

POST/api/auth/token

Monitorización

La Consola ofrece páginas de monitorización dedicadas para cada característica avanzada de OAuth2. Accede a ellas desde la sección OAuth Avanzado en la barra lateral.

Códigos de Dispositivo

Ve a Consola → OAuth Avanzado → Códigos de Dispositivo para ver todas las sesiones de autorización de dispositivo activas y expiradas.

ColumnaDescripción
Código de UsuarioEl código mostrado al usuario
ClienteLa aplicación que solicitó el código de dispositivo
EstadoPendiente, Autorizado, Expirado o Denegado
Creado EnCuándo se emitió el código de dispositivo
Expira EnCuándo expira el código de dispositivo
UsuarioEl usuario que autorizó la sesión (si fue autorizado)

Solicitudes CIBA

Ve a Consola → OAuth Avanzado → Solicitudes CIBA para ver las solicitudes de autenticación backchannel.

ColumnaDescripción
ID de SolicitudIdentificador único de la solicitud CIBA
UsuarioEl usuario que se está autenticando
ClienteLa aplicación que inició la solicitud
EstadoPendiente, Completado, Expirado o Denegado
Modo de NotificaciónPoll, Ping o Push
Creado EnCuándo se inició la solicitud

Intercambios de Tokens

Ve a Consola → OAuth Avanzado → Intercambios de Tokens para ver el log de auditoría de todas las operaciones de intercambio de tokens.

ColumnaDescripción
TimestampCuándo ocurrió el intercambio
TipoSuplantación o Delegación
Identidad OrigenLa identidad autenticada original
Identidad DestinoLa identidad del usuario objetivo
ClienteLa aplicación que realizó el intercambio
ScopesLos scopes concedidos en el token intercambiado

Puntuación de Riesgo

Las características avanzadas de OAuth2 se integran con el motor de puntuación de riesgo de Auris. Cuando la puntuación de riesgo está habilitada, cada autenticación a través de Device Flow, CIBA o Intercambio de Tokens se evalúa por riesgo igual que un inicio de sesión estándar. Las autenticaciones de alto riesgo pueden activar requisitos de MFA adicional.

Para la configuración detallada del motor de riesgo, pesos de factores, umbrales y reglas personalizadas, consulta la página dedicada Puntuación de Riesgo y MFA Adaptativo.


Permisos

Los siguientes permisos controlan el acceso a las características avanzadas de OAuth2:

PermisoDescripción
view:device_codesVer sesiones de autorización de dispositivo activas
manage:device_codesRevocar códigos de dispositivo
view:token_exchangesVer el log de auditoría de intercambio de tokens
impersonate:usersRealizar intercambios de tokens de suplantación
delegate:tokensRealizar intercambios de tokens de delegación
manage:dpop_configConfigurar los ajustes de DPoP en las aplicaciones
view:ciba_requestsVer solicitudes de autenticación backchannel
manage:ciba_configConfigurar los ajustes de CIBA en las aplicaciones
view:risk_assessmentsVer datos de evaluación de riesgo
manage:risk_rulesCrear y modificar reglas de puntuación de riesgo
manage:advanced_oauthAcceso completo a todos los ajustes avanzados de OAuth2

Guías Relacionadas