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.
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.
Gracias por confiar en la plataforma líder en América Latina en análisis de datos y calidad de las redes Wifi.