Skip to main content
Para usar las funciones de autenticación de canal secundario iniciada por el cliente (CIBA), debe tener un Enterprise Plan o un complemento adecuado. Consulte Auth0 Pricing para obtener más información.
Cuando usa notificaciones push móviles con CIBA, el usuario recibe una notificación push para autenticarse o autorizar una solicitud en su dispositivo móvil inscrito. Puede enviar notificaciones push móviles con CIBA mediante la aplicación Auth0 Guardian o una aplicación personalizada integrada con el SDK de Auth0 Guardian. El flujo de CIBA con notificaciones push móviles autentica y autoriza a los usuarios en su dispositivo móvil, sin necesidad de usar un navegador. Como el dispositivo desde el que se inicia la solicitud no requiere una sesión activa en el navegador, el usuario no necesita haber iniciado sesión antes de que se desencadene una solicitud de CIBA. Esto también garantiza que el flujo de CIBA no afecte ninguna sesión existente que el usuario pueda tener. El siguiente diagrama muestra el flujo completo de CIBA con notificaciones push móviles:
Las siguientes secciones explican paso a paso cómo funciona la autenticación de usuarios con CIBA mediante notificaciones push móviles.

Requisitos previos

Para iniciar una solicitud push de CIBA con Auth0, debe:

Paso 1: La aplicación cliente inicia una solicitud de CIBA

Utiliza las API de búsqueda de usuarios para encontrar al usuario que autoriza para el que quieras iniciar una solicitud de CIBA y obtener su ID de usuario. Una vez que tengas el ID de usuario del usuario que autoriza, usa la Authentication API o nuestros SDKs para enviar una solicitud de CIBA al endpoint /bc-authorize:
Hay un límite de tasa específico por usuario: no se enviarán más de 5 solicitudes por minuto al usuario que autoriza.

Paso 2: El Tenant de Auth0 confirma la solicitud de CIBA

Si el Tenant de Auth0 recibe correctamente la solicitud POST, deberías recibir una respuesta que contenga un auth-req-id que hace referencia a la solicitud:
El valor auth_req_id se pasa al endpoint /token para sondear la finalización del flujo CIBA.

Paso 3: La aplicación cliente consulta periódicamente si hay una respuesta

Utilice la Authentication API o nuestros SDKs para llamar al endpoint /token con el grant type urn:openid:params:grant-type:ciba y el auth_req_id que recibió del endpoint /bc-authorize:
Hasta que el usuario que autoriza apruebe la transacción, debería recibir la siguiente respuesta:
Hay un intervalo de espera de aproximadamente cinco segundos entre cada sondeo. Si realiza el sondeo con demasiada frecuencia, recibirá la siguiente respuesta, donde la descripción varía según el intervalo de espera progresiva:
Para resolver el error, espere al siguiente intervalo (en segundos) antes de consultar el endpoint /token.

Paso 4: La aplicación móvil recibe la notificación push

Auth0 envía una notificación push a la aplicación móvil o al dispositivo registrado del usuario mediante la aplicación Auth0 Guardian o una aplicación personalizada integrada con el SDK de Auth0 Guardian. Si utiliza una aplicación personalizada, el SDK de Auth0 Guardian proporciona métodos para analizar los datos recibidos de la notificación push y devolver una instancia de Notification lista para usar. La instancia de Notification incluye un identificador de vinculación de la transacción, o txlinkid, que la aplicación móvil usa para recuperar los detalles de consent desde Auth0. Los siguientes ejemplos de código muestran implementaciones de notificaciones push móviles en iOS y Android con el SDK de Guardian:
La aplicación Auth0 Guardian o una aplicación personalizada integrada con el SDK de Auth0 Guardian recupera los detalles del consent, es decir, el contenido de binding_message, de la Auth0 Consent API. Si utiliza una aplicación personalizada, los siguientes ejemplos de código muestran implementaciones de ejemplo para iOS y Android que recuperan datos de la Auth0 Consent API:
La API de consent de Auth0 responde a la aplicación Auth0 Guardian o a tu aplicación personalizada integrada con el SDK de Auth0 Guardian con los detalles del consent, incluidos binding_message, scope y audience. Los alcances que se devuelven a la aplicación móvil se filtran según tu política de RBAC. Para obtener más información, consulta Control de acceso basado en roles. La aplicación móvil presenta al usuario la solicitud de autenticación y/o los detalles del consent. El siguiente ejemplo de código muestra una respuesta de ejemplo de la API de consent de Auth0:
En este punto, el usuario puede aceptar o rechazar la solicitud de autenticación.

Paso 7: La aplicación móvil envía la respuesta del usuario a Auth0

La aplicación Auth0 Guardian o su aplicación personalizada envía la respuesta del usuario a Auth0. Si utiliza una aplicación personalizada integrada con el SDK de Auth0 Guardian, los siguientes ejemplos de código muestran implementaciones para iOS y Android que gestionan la respuesta del usuario:

El usuario acepta la solicitud de autenticación

El usuario rechaza la solicitud de autenticación

Paso 8: Auth0 recibe la respuesta del usuario cuando finaliza el flujo

La aplicación cliente completa el sondeo al recibir una respuesta del endpoint /token. Un flujo CIBA siempre requiere una respuesta —ya sea de aprobación o de rechazo— del usuario que autoriza, y no se verifican las autorizaciones existentes.

Paso 9: Auth0 devuelve el token de acceso a la aplicación cliente

 Si el usuario rechaza la solicitud push, Auth0 devuelve a la aplicación cliente una respuesta de error como la siguiente:
Si el usuario aprueba la solicitud de push, Auth0 devuelve a la aplicación cliente un como el siguiente:
refresh_token solo estará presente si se incluyó el scope offline_access en la solicitud inicial a /bc-authorize.

Más información