Saltar al contenido principal
El Custom Token Exchange permite que las aplicaciones intercambien un token de seguridad existente, denominado subject_token, por tokens de acceso, ID y de actualización de Auth0 mediante una llamada al endpoint /oauth/token, de acuerdo con la RFC 8693.

Cómo funciona

El flujo de Custom Token Exchange se rige por una única Action de Custom Token Exchange, que se selecciona en función del parámetro subject_token_type recibido, según se configura en un perfil de Custom Token Exchange.
Como requisito previo del flujo, debe definir un perfil de Custom Token Exchange que asigne un subject_token_type específico a la Action que procesará las solicitudes. Cuando se activa el flujo de Custom Token Exchange:
  1. La aplicación envía una solicitud POST al endpoint /oauth/token con el token de seguridad que se va a intercambiar (el subject_token) y su subject_token_type correspondiente. La solicitud también puede incluir, de forma opcional, un actor_token y un actor_token_type para identificar a una entidad principal que actúa en nombre del usuario.
  2. Auth0 valida la solicitud del cliente y las credenciales.
  3. Se ejecuta la Action de Custom Token Exchange asociada. Su código personalizado debe decodificar y validar el subject_token, aplicar las políticas de autorización necesarias y establecer el usuario de la transacción para aprobar el intercambio. La Action también puede establecer un actor para la transacción mediante api.authentication.setActor(), lo que da como resultado una reclamación act en los tokens emitidos que identifica quién actúa en nombre del usuario.
  4. El resto del flujo estándar de Auth0 se ejecuta para generar un token de acceso de Auth0 y, opcionalmente, un token de ID y un token de actualización para el usuario establecido.
  5. Después, la aplicación solicitante puede usar estos tokens recién emitidos para llamar de forma segura a las API en nombre del usuario que se estableció en la Action.

Primeros pasos

Para usar Custom Token Exchange, debes crear un perfil de Custom Token Exchange. El flujo de trabajo general consta de tres pasos principales de configuración, seguidos de una llamada a tu API:
  1. Crea e implementa una Action que contendrá la lógica para controlar el intercambio de tokens. En esta Action, escribe la lógica personalizada para:
    • Decodificar y validar de forma segura el subject_token entrante.
    • Realizar los pasos de autorización necesarios para la transacción.
    • Establecer el usuario correspondiente para la transacción mediante los métodos disponibles en el objeto de API de Actions para Custom Token Exchange.
  2. Crea el perfil de Custom Token Exchange en tu inquilino. El perfil establece una relación uno a uno entre un subject_token_type específico que usarás en tus solicitudes y la Action que acabas de crear.
  3. Habilita Custom Token Exchange para tu aplicación.
Una vez que hayas creado el perfil de Custom Token Exchange, estarás listo para:
  1. Llamar a tu API: ahora puedes realizar una solicitud POST al endpoint /oauth/token con los parámetros necesarios, incluidos subject_token y subject_token_type, que corresponden al perfil que configuraste. Para obtener más información, consulta Llamar a tu API mediante Custom Token Exchange.

Más información