Para usar las funciones de autenticación backchannel iniciada por el cliente (CIBA), debes tener un plan Enterprise o un complemento adecuado. Consulta Auth0 Pricing para obtener más información.
authorization_details contiene detalles sobre la solicitud que puedes usar para personalizar una pantalla de consentimiento y mostrárselos al usuario.
Puedes autorizar usuarios con CIBA usando los siguientes canales de notificación:
- Notificaciones push móviles mediante la aplicación Auth0 Guardian y una aplicación personalizada integrada con el SDK de Auth0 Guardian.
- Notificaciones por correo electrónico, que requieren configurar una pantalla de consentimiento personalizada.
Casos de uso comunes
- Una aplicación de pagos pide al usuario que confirme una transferencia de dinero.
authorization_detailsse puede personalizar para mostrar los detalles de la transacción. - Un agente de IA muestra al usuario los detalles de una cita médica reprogramada.
authorization_detailsse puede personalizar para mostrar la nueva hora y fecha.
Cómo funciona
authorization_details al Servidor de autorización a través del endpoint /bc-authorize.
El siguiente diagrama de secuencia explica el flujo completo de autorización de usuario con CIBA de extremo a extremo:

- Requisitos previos
- Paso 1: La aplicación cliente inicia una solicitud de CIBA
- Paso 2: El inquilino de Auth0 confirma la solicitud de CIBA
- Paso 3: La aplicación cliente sondea para obtener una respuesta
- Paso 4: El dispositivo de autenticación recibe la notificación push
- Paso 5: El dispositivo de autenticación recupera los detalles del consentimiento
- Paso 6: El dispositivo de autenticación presenta al usuario los detalles del consentimiento
- Paso 7: El dispositivo de autenticación envía la respuesta del usuario a Auth0
- Paso 8: Auth0 recibe la respuesta del usuario una vez completado el flujo
- Paso 9: Auth0 devuelve el token de acceso a la aplicación cliente
Requisitos previos
- Configurar la autenticación backchannel iniciada por el cliente para su inquilino y su aplicación, incluido su canal de notificación.
- Configurar Rich Authorization Requests para su , lo que incluye registrar sus tipos de
authorization_details. - Si usa notificaciones por correo electrónico con CIBA y RAR, configure una pantalla de consentimiento personalizada.
Paso 1: La aplicación cliente inicia una solicitud de CIBA
authorization_details al endpoint /bc-authorize:
Paso 2: El inquilino de Auth0 confirma la solicitud CIBA
POST, deberías recibir una respuesta que contenga un auth-req-id que haga referencia a la solicitud:
auth_req_id se envía al endpoint /token para consultar periódicamente si el flujo CIBA se ha completado.
Paso 3: La aplicación cliente consulta periódicamente si hay una respuesta
/token con el grant type urn:openid:params:grant-type:ciba y el auth_req_id que recibió del endpoint /bc-authorize:
- cURL
- C#
- Go
- Java
/token.
Paso 4: El dispositivo de autenticación recibe la notificación
- Notificación push móvil: Auth0 la envía a la aplicación Auth0 Guardian o a una aplicación móvil personalizada integrada con el SDK de Auth0 Guardian.
- Notificación por correo electrónico: Auth0 la envía a la dirección de correo electrónico verificada del usuario.
Paso 5: El dispositivo de autenticación obtiene los detalles del consentimiento
binding_message, de la API de consentimiento de Auth0:
- Notificación push móvil: La aplicación Auth0 Guardian o una aplicación personalizada integrada con el SDK de Auth0 Guardian llama a la API de consentimiento de Auth0 para obtener los detalles del consentimiento.
- Notificación por correo electrónico: Cuando el usuario hace clic en el enlace de verificación, se le redirige al navegador, que obtiene los detalles del consentimiento de la API de consentimiento de Auth0.
Paso 6: El dispositivo de autenticación presenta los detalles del consentimiento al usuario
binding_message, scope, audience y authorization_details, si están configurados. Los alcances que se devuelven a la aplicación móvil se filtran de acuerdo con su política de RBAC. Para obtener más información, consulte Control de acceso basado en roles.
El siguiente ejemplo de código muestra una respuesta de la API de consentimiento de Auth0:
authorization_details:
- Notificación push móvil: La aplicación Auth0 Guardian muestra
authorization_detailsen una pantalla de consentimiento mediante una notificación push. - Notificación por correo electrónico: El navegador muestra
authorization_detailsen una pantalla de consentimiento personalizada. Para obtener información sobre cómo personalizar la pantalla de consentimiento, consulta Configurar una pantalla de consentimiento personalizada.
Paso 7: El dispositivo de autenticación envía la respuesta del usuario a Auth0
- Notificación push móvil: La aplicación Auth0 Guardian o una aplicación personalizada integrada con el SDK de Auth0 Guardian envía la respuesta del usuario a Auth0.
- Notificación por correo electrónico: El navegador envía la respuesta del usuario a Auth0.
Paso 8: Auth0 recibe la respuesta del usuario una vez completado el flujo
/token. Un flujo de CIBA siempre requiere una respuesta del usuario que autoriza, ya sea de aprobación o de rechazo, y no se comprueban las autorizaciones ya concedidas. Esto significa que Auth0 trata cada solicitud de CIBA como una nueva autorización para el usuario que autoriza.
Paso 9: Auth0 devuelve el token de acceso a la aplicación cliente
authorization_details como los siguientes:
El
refresh_token solo estará presente si el scope offline_access se incluyó en la solicitud inicial a /bc-authorize.authorization_details a partir de los detalles de consentimiento de forma segura en cuanto a tipos, igual que consultaría JSON de forma dinámica:
- iOS
- Android
filterAuthorizationDetailsByType() para devolver todos los objetos authorization_details que coincidan con el tipo deseado.
En la siguiente muestra de código se consulta authorization_details con el tipo payment:
- iOS
- Android
filterAuthorizationDetailsByType() solo devuelve objetos que coinciden con el tipo de authorization_details especificado. Como resultado, su aplicación móvil debe presentar al usuario todos los authorization_details pertinentes para el consentimiento, independientemente de su tipo, a fin de garantizar una comprensión completa de la solicitud
También puede consultar authorization_details cuando el agente de IA o la aplicación sondea el endpoint /oauth/token para obtener una respuesta:
Cuando el usuario autorizador aprueba la solicitud, Auth0 recibe la respuesta del usuario y el flujo de CIBA se completa, devolviendo un token de acceso y el array
authorization_details:
Limitaciones
- Modificar RAR en Actions para flujos de CIBA.
- Anunciar tipos de RAR para que los clientes puedan descubrirlos, lo que significa que debes prerregistrar a los clientes con los tipos de
authorization_detailsque pueden enviar. - Validar objetos RAR más allá de comprobar que tengan una propiedad
typeque coincida con los tipos permitidos para la API. Tu servidor de recursos es responsable de la validación detallada del contenido deauthorization_details. Para obtener más información, consulta Configurar RAR.