Restricciones de iOS para Autenticación OAuth en Portales Cautivos

Restricciones de iOS para Autenticación OAuth en Portales Cautivos

Restricciones de iOS para Autenticación OAuth en Portales Cautivos


Autenticación OAuth y su Funcionamiento.


OAuth es un protocolo de autorización que permite a las aplicaciones obtener acceso limitado a cuentas de usuario en servicios de terceros (Google, Microsoft, Facebook, etc.). En el contexto de un portal cautivo, OAuth suele implementarse mediante redirecciones entre el navegador y los servidores de autenticación, lo que puede requerir el uso de cookies y persistencia de sesión.


Funcionamiento de Autenticación

  1. El usuario accede al portal cautivo y selecciona un método de autenticación basado en OAuth.

  2. El portal redirige al usuario a la página de autorización del proveedor (por ejemplo, Google o Microsoft).

  3. 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.

  4. El proveedor de OAuth redirige al usuario nuevamente al portal cautivo con un token de acceso.

  5. El portal utiliza este token para autenticar al usuario y otorgarle acceso a la red.

Limitaciones de iOS

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.

Soluciones y Recomendaciones Por DataWifi 

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.




    • Related Articles

    • NAVEGACIÓN POR PORTALES CAUTIVOS – DATAWIFI SHOWROOM

      NAVEGACIÓN POR PORTALES CAUTIVOS – DATAWIFI SHOWROOM Este manual tiene como objetivo guiar a los usuarios en la navegación por diferentes portales cautivos de Datawifi. Estos portales están diseñados para ejemplificar las funcionalidades y ...
    • Activacion de Portales por Fecha

      La plataforma de DataWifi le permitirá realizar la programación de portales cautivos y que estos  cambien según la  fecha configurada, esta funcionalidad suele usarse cuando el administrador, programa un evento para un fin  de semana y terminado el ...
    • MANUAL PARA CONFIGURACIÓN DE SEGMENTACIÓN EN TIEMPO REAL (CONDICIONAL)

      MANUAL PARA CONFIGURACIÓN DE SEGMENTACIÓN EN TIEMPO REAL (CONDICIONAL) REQUISITOS PREVIOS Tener creadas las preguntas que se van a utilizar en la configuración. Haber cargado previamente los recursos a mostrar en el progreso del usuario. ...
    • MANUAL DE CONFIGURACIÓN PUBLICIDAD EN SITIO

      MANUAL DE CONFIGURACIÓN PUBLICIDAD EN SITIO DESCRIPCIÓN La plataforma SmartWiFi de Datawifi ofrece funcionalidades avanzadas para potenciar las estrategias de marketing de las empresas a través del módulo de Publicidad en Sitio. Este módulo permite ...
    • Gestión Tiempo de Espera en Imágenes

      ¿ Que es Tiempo de Espera en la Plataforma? En esta herramienta al detectarse una imagen en la sección del portal se restringirá el paso a la siguiente sección por 5 segundos con el fin de que dichas imágenes tengan mayor posibilidad de ser ...