/oauth/token, tal como se define en RFC 8693. Algunos casos de uso habituales del intercambio de tokens personalizado son:
- Obtener tokens de Auth0 para otra
- Integrarse con un externo
- Migrar a Auth0
- Autorización delegada: una entidad principal (como un servicio, un agente de IA o un agente de soporte) actúa en nombre de un usuario
- Escribir código personalizado para decodificar y validar
subject_tokenspasados al endpoint/oauth/token - Autorizar el acceso y establecer el usuario para continuar con la transacción.
El intercambio de tokens personalizado te ofrece la flexibilidad adicional de establecer el usuario para la transacción, asumiendo también la responsabilidad adicional de validar de forma segura el token de sujeto correspondiente que identifica al usuario en la transacción.Recuerda que los tokens de sujeto y de actor utilizados con el intercambio de tokens personalizado pueden tener cualquier formato o tipo de token que necesites, siempre que tu código de Action pueda interpretarlos. Debes implementar una validación sólida de los tokens que recibes y aceptas. Si no lo haces, te expones a distintos vectores de ataque, como la suplantación o los ataques de repetición, lo que puede permitir que actores maliciosos se autentiquen con el ID de usuario de otra persona o actúen en su nombre sin autorización.Para conocer las distintas opciones para implementar una validación segura de tus tokens de sujeto, consulta y aplica las recomendaciones incluidas en Casos de uso de ejemplo y muestras de código. Asegúrate también de tener en cuenta y aplicar las capacidades de protección contra ataques.
Registros del inquilino
- Transacciones exitosas: registros
secte - Transacciones fallidas: registros
fecte
setActor(), la propiedad actor (que contiene sub y cualquier actor anidado) se incluye en las entradas de registro secte con fines de auditoría.
Use los registros del inquilino para solucionar cualquier problema que encuentre con el intercambio de tokens.
Limitaciones
- Métodos de la API de MFA
api.authentication.challengeWith()yapi.authentication.EnrollWith() - Las conexiones de base de datos personalizadas con el modo de importación
ONno son compatibles con las operacionessetUserByConnection() - Clientes de terceros y clientes que no cumplen con OIDC
- La API de destino debe tener habilitada la opción Allow Skipping User Consent, ya que no es posible recopilar el consentimiento en un flujo no interactivo.