El usuario accede al portal cautivo y selecciona un método de autenticación basado en OAuth.
El portal redirige al usuario a la página de autorización del proveedor (por ejemplo, Google o Microsoft).
El usuario ingresa sus credenciales y autoriza el acceso, esta acción se realiza fuera del portal Cautivo Datawifi no interviene ni guarda las credenciales del usuario.
El proveedor de OAuth redirige al usuario nuevamente al portal cautivo con un token de acceso.
El portal utiliza este token para autenticar al usuario y otorgarle acceso a la red.
Los dispositivos iOS implementan un "Captive Network Assistant" (CNA), una ventana emergente simplificada que detecta y gestiona portales cautivos. Esta herramienta introduce restricciones que afectan la funcionalidad de OAuth:
El CNA utiliza un navegador interno que carece de las características completas de un navegador como Safari, lo que impide el soporte para almacenamiento local y otras tecnologías necesarias para la autenticación OAuth.
Debido a la falta de las características completas de un navegador convencional, el CNA no admite redirecciones a dominios externos ni la persistencia de sesión.
Dado que el CNA no utiliza una instancia completa de Safari, no es compatible con la gestión de credenciales guardadas o inicios de sesión únicos (SSO) proporcionados por el navegador principal.
El CNA restringe las redirecciones hacia dominios externos, lo que es fundamental para completar el flujo de OAuth.
Cuando el CNA detecta un portal cautivo, fuerza la apertura de la ventana emergente. Esto evita que el usuario pueda abrir el flujo de autenticación en Safari o un navegador completo.
Estas limitaciones generan los siguientes problemas en la implementación de OAuth utilizando un doble factor de autenticación:
Flujo Interrumpido: El navegador del CNA no puede manejar correctamente las redirecciones necesarias para completar el flujo OAuth. Además, cuando se habilita el 2FA, el usuario debe abrir un autenticador para autorizar el inicio de sesión. Este cambio interrumpe el flujo de conexión del portal cautivo, ya que el CNA no mantiene el estado del proceso ni soporta redirecciones externas. Al intentar retomar la conexión, el CNA recarga el portal desde el principio, reiniciando el flujo.
Error en la autenticación: Los servicios de redes sociales o empresariales (como Google y Microsoft) no pueden autenticar a los usuarios debido a la falta de soporte para redirecciones externas, lo que impide que el usuario complete el proceso de inicio de sesión en estas aplicaciones externas.
Experiencia del Usuario Degradada: Los usuarios se ven forzados a abandonar el flujo de autenticación, lo que no sólo interrumpe su acceso al portal, sino que también puede resultar en la pérdida total de la conexión a la red, afectando negativamente la continuidad de su experiencia y obligándolos a reiniciar el proceso desde el principio.
Diseñar un flujo de autenticación compatible con las limitaciones del CNA, como el uso de formulario nativo dentro de la plataforma.
Por medio de código auxiliar se detecta el sistema operativo usado por los dispositivos móviles para que sea redirigido a los usuarios que cuenten con dispositivos IOS a un portal que no cuente con autenticación basada en Oauth.
Anexo 1
Alternativa 1 Integración API Banco BCP
Con el uso de una integración mediante el consumo de una API que apunta a Microsoft desarrollada por parte del cliente BCP, se quiere dar solución al problema que se tiene para usar el login con Microsoft en el portal cautivo, manteniendo el doble factor de autenticación que proporciona Microsoft.
Esto permitirá que en dispositivos iOS que usan un CNA para el despliegue del portal cautivo y no permiten usar login con terceros, con el uso de la API se pueden realizar login con terceros de forma efectiva.
El proceso de autenticación es totalmente transparente para el usuario.
Gracias por confiar en la plataforma líder en América Latina en análisis de datos y calidad de las redes Wifi.