- Proteger operaciones sensibles realizadas desde tus propios servicios, como aprobar transferencias bancarias, acceder al historial de operaciones y cambiar las credenciales de acceso.
- Proteger operaciones sensibles solicitadas desde servicios de terceros, como aprobar pagos digitales y permitir acceso por única vez para la verificación de cuentas.
Debes configurar la autorización transaccional para cada API. Una vez activada, se aplica a los alcances y a
authorization_details.types de esa API.Requisitos previos
authorization_details.types para su API o .
Flujo de principio a fin
- Redirija de forma segura al usuario a Auth0 con los detalles de la transacción. En este paso, evite revelar información confidencial en el canal frontal (por ejemplo, el navegador).
- Aplique una política dinámica después de que el usuario se autentique. Con Actions, puede decidir dinámicamente los siguientes pasos en función de los detalles de la transacción y de otra información que pueda obtener de fuentes como API externas. Para obtener más información, consulte Aplicar una política dinámica.
- Solicite al usuario un segundo factor de autenticación y muestre los detalles de la transacción para que los apruebe explícitamente. Este paso depende del factor de autenticación que haya elegido aplicar mediante Actions.
- Obtenga el token de acceso y continúe con la operación confidencial. Su API valida los detalles de la transacción aprobados asociados al token de acceso.

Comunicar los detalles de la transacción y redirigir a Auth0
/authorize, PAR envía los parámetros directamente desde el backend a un endpoint especial, /par, mediante una solicitud POST. Para obtener información sobre cómo configurarlo, consulte Configure Pushed Authorization Requests.
En el cuerpo de la solicitud PAR, los detalles de la transacción se envían como parte del objeto JSON authorization_details:
authorization_details y determinar qué factores de autenticación usar según la transacción. Para obtener más información sobre authorization_details y cómo usarlo junto con PAR, consulta Flujo de código de autorización con solicitudes de autorización enriquecidas.
Si quieres cumplir los requisitos de conformidad de FAPI 1 Advanced Security, también debes usar criptografía de clave pública para autenticar el backend ante el endpoint /par o /token. Esto es más seguro que enviar un . Auth0 ofrece los siguientes métodos de autenticación con criptografía de clave pública:
Después de recibir una respuesta satisfactoria a tu solicitud PAR, redirige al usuario al endpoint /authorize de tu inquilino de Auth0. Agrega el parámetro request_uri recibido en la respuesta PAR y client_id como los únicos parámetros de consulta, lo que oculta de forma efectiva cualquier información confidencial del navegador.
Aplicar una política dinámica
/authorize de tu inquilino de Auth0, Auth0 intentará autenticar al usuario. En nuestro ejemplo de aprobación de una transferencia bancaria, Auth0 ya ha autenticado al usuario para que acceda a tu aplicación web. Sin embargo, cuando un tercero redirige al usuario, por ejemplo, para realizar un pago digital, Auth0 le muestra una pantalla de inicio de sesión. Para obtener más información sobre el flujo de autenticación, consulta la documentación de Authenticate.
Una vez que Auth0 haya autenticado correctamente al usuario, ejecuta las Actions posteriores al inicio de sesión, que exponen detalles de la transacción, como información sobre el usuario, la aplicación, los factores de autenticación utilizados y más, en el objeto de evento post-login. Dentro del objeto de evento post-login, la propiedad event.transaction.requested_authorization_details contiene detalles sobre la solicitud de autorización recibida en el paso anterior.
Usa el objeto de evento post-login para decidir cómo quieres proceder con la transacción. Por ejemplo, puedes enviar los detalles de la transacción a un motor de riesgo externo y, después de evaluar el nivel de riesgo, determinar si debes solicitar autenticación reforzada mediante SMS, como se muestra en el siguiente ejemplo de código.
Desafíe al usuario para que apruebe los detalles de la transacción
Notificaciones push

otpFallback: false.
Para mostrar authorization_details al usuario, la aplicación móvil debe recuperarlos del parámetro txlnkid. El SDK de Auth0 Guardian pasa el parámetro txlnkid del inquilino a la aplicación móvil mediante una notificación push.
Después de que la aplicación móvil reciba la notificación push a través del SDK de Guardian, puede obtener los detalles de consentimiento, que incluyen authorization_details, desde la API de Consent de Auth0:
- iOS
- Android
api.multifactor.enable() antes de api.authentication.challengeWith() para quitar la opción de recordar este dispositivo y obligar al usuario a validar el desafío push en todas las transacciones. Para obtener más información, consulta Desencadenadores de Action: post-login - objeto de API.
Una vez que el usuario apruebe o rechace la operación, la aplicación móvil puede aprobar o rechazar el desafío de MFA. La transacción avanza a la fase de Completar la operación.
Para verificar la identidad del usuario que abre la notificación push, puedes agregar autenticación biométrica a la aplicación móvil. Para obtener más información, consulta Configurar WebAuthn con Device Biometrics para MFA.
SMS, correo electrónico o WebAuthn

Desde Actions, puedes llamar a
api.multifactor.enable('any', { allowRememberBrowser: false }) antes de api.authentication.challengeWith para quitar la opción de recordar este dispositivo y obligar al usuario a validar el desafío push en todas las transacciones.Sin desafío
Completa la operación
authorization_details que enviaste originalmente. El siguiente ejemplo de código muestra el contenido de un token de acceso descifrado:
authorization_details del token de acceso para verificar los detalles de la transacción, como el importe, el remitente, el destino, entre otros. Una vez verificados, la transferencia de dinero se ejecuta correctamente y debería ver la pantalla de aprobación.
Si la transacción se rechaza en cualquier paso, el navegador del usuario muestra el código de error access_denied.