Saltar al contenido principal
El intercambio de tokens personalizado permite a las aplicaciones intercambiar sus tokens existentes por tokens de Auth0 al llamar al endpoint /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
Para obtener más información, consulta Casos de uso de ejemplo y muestras de código. Cada solicitud de intercambio de tokens personalizado se asigna a un perfil de intercambio de tokens personalizado, que está controlado por una Action, donde puedes:
  • Escribir código personalizado para decodificar y validar subject_tokens pasados al endpoint /oauth/token
  • Autorizar el acceso y establecer el usuario para continuar con la transacción.
Puedes configurar varios perfiles de intercambio de tokens personalizado para una aplicación. Después de que el Servidor de autorización de Auth0 valide que la solicitud de intercambio de tokens personalizado es válida y se asigna a un perfil de intercambio de tokens personalizado existente, el trigger de intercambio de tokens personalizado ejecuta la única Action asociada a ese perfil. A continuación, la aplicación puede aprovechar el intercambio de tokens personalizado para autenticarse y obtener tokens de acceso, de ID y de actualización de Auth0 para el usuario.
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

Cada transacción de intercambio de tokens personalizado genera un evento en el registro del inquilino:
  • Transacciones exitosas: registros secte
  • Transacciones fallidas: registros fecte
Cuando se establece un actor mediante 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

intercambio de tokens personalizado no admite lo siguiente:
  • Métodos de la API de MFA api.authentication.challengeWith() y api.authentication.EnrollWith()
  • Las conexiones de base de datos personalizadas con el modo de importación ON no son compatibles con las operaciones setUserByConnection()
  • 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.