Cómo configurar la autenticación WeChat OAuth para Captive Portals
Esta guía técnica explica cómo configurar la autenticación WeChat OAuth para Captive Portals. Detalla los registros de plataforma requeridos, el flujo de OAuth 2.0, la selección de alcance (scope) y los mecanismos de aplicación de red necesarios para capturar de forma segura datos de primera fuente de los visitantes chinos.
Escucha esta guía
Ver transcripción del podcast
- Resumen Ejecutivo
- Arquitectura Técnica
- Requisitos de Registro en la Plataforma
- Plataforma de Cuentas Oficiales de WeChat
- Selección de alcance y recopilación de datos
- snsapi_base
- snsapi_userinfo
- Integración de la aplicación de red
- Cambio de autorización RADIUS (CoA)
- Omisión de dirección MAC
- Consideraciones de seguridad y cumplimiento
- Alineación con GDPR y PIPL
- Protección CSRF
- Validación de la URI de redirección

Resumen Ejecutivo
Cuando los visitantes chinos se conectan a su WiFi, presentar una página de inicio de sesión que solo ofrece correo electrónico o Facebook genera una fricción inmediata. WeChat cuenta con 1,380 millones de usuarios activos mensuales, y configurarlo como proveedor de identidad elimina esta barrera. Esta guía explica cómo implementar la autenticación WeChat OAuth 2.0 para Captive Portals, detallando los registros de plataforma necesarios, el flujo de OAuth y los mecanismos de aplicación de red requeridos para traducir un inicio de sesión exitoso en acceso a la red. Cubrimos la implementación técnica en hardware empresarial y los requisitos de cumplimiento bajo GDPR y PIPL.
Arquitectura Técnica
Un Captive Portal intercepta el tráfico HTTP de un dispositivo no autenticado y lo redirige a una página de inicio de sesión alojada en un servidor de portal. Al integrar WeChat OAuth, se inserta un proveedor de identidad de terceros en este flujo.

La secuencia opera de la siguiente manera:
- El visitante se conecta al SSID.
- El punto de acceso o controlador inalámbrico detecta la falta de una sesión autenticada y redirige el tráfico HTTP a la URL del Captive Portal.
- El visitante selecciona el inicio de sesión con WeChat.
- El servidor del portal redirige el navegador al endpoint de autorización de WeChat (
open.weixin.qq.com), enviando elAppID,redirect_uri,response_type=codeyscope. - WeChat gestiona la autenticación. Si el visitante utiliza el navegador integrado de WeChat con el alcance
snsapi_base, esto ocurre de forma silenciosa. - WeChat redirige de vuelta al
redirect_uridel portal con un código de autorización temporal. - El servidor del portal intercambia este código por un token de acceso llamando a
api.weixin.qq.com/sns/oauth2/access_token. - WeChat devuelve un
access_token,refresh_tokeny elopeniddel usuario.
Requisitos de Registro en la Plataforma
La implementación del inicio de sesión con WeChat requiere el registro en la plataforma de desarrolladores correcta. WeChat opera dos plataformas distintas, y seleccionar la incorrecta provocará que la integración falle.
Plataforma de Cuentas Oficiales de WeChat
Para un Captive Portal que atiende a visitantes dentro del navegador integrado de WeChat, se requiere una Cuenta de Servicio en la Plataforma de Cuentas Oficiales (mp.weixin.qq.com). Una Cuenta de Suscripción carece de los permisos de autorización de páginas web OAuth necesarios. Una Cuenta de Servicio admite los alcances snsapi_base y snsapi_userinfo.### WeChat Open Platform
Para un Captive Portal al que se accede desde un navegador móvil estándar fuera de WeChat (como Chrome en Android o Safari en iOS), se requiere una aplicación de sitio web registrada en la Open Platform (open.weixin.qq.com). Esto utiliza el alcance snsapi_login y presenta un código QR que el usuario escanea con su aplicación WeChat.
La mayoría de las implementaciones empresariales requieren ambos registros para cubrir todos los métodos de acceso.
Selección de alcance y recopilación de datos
El parámetro de alcance determina qué datos devuelve WeChat al servidor de su portal. Esta decisión afecta tanto la fricción del usuario como el cumplimiento de la privacidad de los datos.

snsapi_base
Este alcance devuelve únicamente el OpenID, un identificador único para el usuario dentro de su cuenta oficial. No requiere ninguna solicitud de consentimiento del usuario, lo que hace que la autenticación sea invisible para él. Esto es óptimo para los visitantes que regresan y de los que ya tiene un perfil, o para los establecimientos que priorizan cero fricción sobre la recopilación de nuevos datos.
snsapi_userinfo
Este alcance devuelve el OpenID más el apodo de WeChat del usuario, la foto de perfil, el género, la configuración de idioma y la ciudad. Requiere una pantalla de consentimiento explícito, lo que introduce fricción. Utilice esto para el registro de visitantes por primera vez cuando sea necesario crear un perfil, junto con una capa de consentimiento que cumpla con el GDPR.
Integración de la aplicación de red
La adquisición de un token OAuth demuestra la identidad, pero no abre la red. Debe traducir una autenticación exitosa en acceso a la red utilizando protocolos estándar.
Cambio de autorización RADIUS (CoA)
Definido en IEEE 802.1X y RFC 3576, RADIUS CoA permite que el servidor del portal envíe una solicitud al controlador de red después de un OAuth exitoso. Luego, el controlador mueve el dispositivo de la VLAN no autenticada a la VLAN de invitados. Este es el estándar para el hardware empresarial, incluidos Cisco Meraki, HPE Aruba, Ruckus y Juniper Mist.
Omisión de dirección MAC
Alternativamente, el servidor del portal registra la dirección MAC del dispositivo como un cliente autorizado y el controlador lo permite. Aunque es más sencillo de implementar, es menos seguro ya que las direcciones MAC se pueden falsificar.
La superposición en la nube de Purple automatiza esta traducción, enviando la señal adecuada al hardware subyacente (incluidos Ubiquiti UniFi, Cambium, Extreme y Fortinet) una vez que se completa el OAuth de WeChat.
Consideraciones de seguridad y cumplimiento
Alineación con GDPR y PIPL
Si atiende a visitantes europeos, el GDPR se aplica a los datos recopilados a través de WeChat OAuth. Si atiende a visitantes chinos, se aplica la Ley de Protección de Información Personal de China (PIPL). Ambos marcos requieren una base legal para el procesamiento, una limitación clara de la finalidad y la minimización de datos. El alcance snsapi_base se alinea más fácilmente con los principios de minimización de datos que snsapi_userinfo.
Protección CSRF
El parámetro state en la solicitud de OAuth evita la falsificación de solicitudes entre sitios. Debe generar un valor de estado aleatorio criptográficamente, almacenarlo en la sesión del usuario y validarlo cuando WeChat redireccione de vuelta.
Validación de la URI de redirección
WeChat valida la redirect_uri con el dominio autorizado registrado en la plataforma. Si el servidor de su portal utiliza un subdominio, ruta o HTTP diferente en lugar de HTTPS, el flujo de OAuth fallará con el error 40029.
Para obtener más información sobre cómo proteger su red, consulte nuestra Enterprise WiFi Security: A Complete Guide for 2026 .
Definiciones clave
snsapi_base
Un alcance de WeChat OAuth que devuelve únicamente el OpenID del usuario sin mostrar una solicitud de consentimiento.
Se utiliza cuando los equipos de TI necesitan autenticar a los visitantes recurrentes de forma silenciosa sin causar fricción en el inicio de sesión.
snsapi_userinfo
Un alcance de WeChat OAuth que devuelve el OpenID junto con datos demográficos (apodo, género, ciudad) y requiere el consentimiento explícito del usuario.
Se utiliza durante el registro por primera vez cuando los equipos de marketing necesitan crear un perfil de visitante.
OpenID
Un identificador único para un usuario específico dentro de una cuenta oficial de WeChat específica.
Se utiliza como la clave principal en la base de datos del portal para rastrear el comportamiento de los visitantes y las visitas recurrentes.
RADIUS CoA
Cambio de Autorización (Change of Authorisation). Un mecanismo definido en RFC 3576 que permite a un servidor modificar el estado de autorización de una sesión activa.
Se utiliza por el servidor del portal para indicar al controlador inalámbrico que otorgue acceso a la red después de una autenticación exitosa de WeChat.
PIPL
Ley de Protección de Información Personal (Personal Information Protection Law). La regulación integral de privacidad de datos de China.
Debe considerarse junto con el GDPR al diseñar el flujo de consentimiento para los visitantes chinos que utilizan el inicio de sesión de WeChat.
AppID and AppSecret
Las credenciales proporcionadas por WeChat para identificar y autenticar su aplicación.
El AppSecret debe permanecer de forma segura en el servidor del portal y nunca exponerse en el código del lado del cliente.
State Parameter
Una cadena criptográficamente aleatoria que se pasa en la solicitud OAuth y se valida al retornar.
Esencial para prevenir ataques de falsificación de solicitud en sitios cruzados (CSRF) en el Captive Portal.
MAC Address Bypass
Un método para otorgar acceso a la red mediante la autorización de la dirección de hardware del dispositivo en lugar de requerir autenticación 802.1X.
Una alternativa a RADIUS CoA para configuraciones de red más sencillas, aunque menos segura.
Ejemplos resueltos
Una marca de retail de lujo en Londres desea ofrecer inicio de sesión con WeChat para los compradores chinos. Quieren recopilar datos demográficos para comprender a su base de clientes, pero les preocupa el cumplimiento de la GDPR y las altas tasas de abandono en el portal.
El minorista debe registrar una Cuenta de Servicio en la Plataforma de Cuentas Oficiales de WeChat. Deben configurar el portal para usar el alcance snsapi_userinfo en las conexiones de primera vez para recopilar datos demográficos (apodo, género, ciudad). Para garantizar el cumplimiento de la GDPR, la página del portal debe mostrar un consentimiento explícito y claro de opción de inclusión (opt-in) antes del redireccionamiento de WeChat, explicando exactamente qué datos se recopilan y por qué. Para los compradores que regresan, el portal debe detectar la dirección MAC y usar snsapi_base para una autenticación silenciosa, minimizando la fricción.
Un estadio despliega una nueva red WiFi utilizando controladores HPE Aruba. Han configurado WeChat OAuth y el portal recibe con éxito el token de acceso, pero el dispositivo del visitante permanece en la página del Captive Portal y no puede acceder a internet.
La integración carece de un mecanismo de aplicación de red. El servidor del portal ha verificado la identidad del usuario con WeChat, pero no ha instruido al controlador HPE Aruba para otorgar el acceso. El servidor del portal debe configurarse para enviar un mensaje RADIUS Change of Authorisation (CoA) al controlador, indicándole que realice la transición de la dirección MAC del usuario del rol de preautenticación al rol de invitado autenticado.
Preguntas de práctica
Q1. Estás implementando un Captive Portal en una cadena de tiendas. Las pruebas muestran que los usuarios que abren el portal en Safari en iOS reciben un error al seleccionar el inicio de sesión de WeChat, pero los usuarios que abren el portal desde un enlace de mensaje de WeChat se autentican correctamente. ¿Cuál es la causa probable?
Sugerencia: Considera la diferencia entre el navegador interno de WeChat y los navegadores móviles estándar.
Ver respuesta modelo
Es probable que la implementación dependa únicamente de una cuenta de servicio registrada en la Official Accounts Platform, que solo admite OAuth dentro del navegador interno de WeChat. Para admitir Safari en iOS, también debes registrar una Website Application en la WeChat Open Platform e implementar la detección de user agent para redirigir a los usuarios de Safari al flujo de código QR.
Q2. Los registros del servidor de tu portal muestran errores frecuentes 40029 'invalid code' devueltos por la API de WeChat durante el intercambio de tokens de acceso. ¿Qué configuración deberías verificar primero?
Sugerencia: Piensa en cómo WeChat valida el origen de la solicitud de autenticación.
Ver respuesta modelo
Debes verificar la configuración de redirect_uri. WeChat valida estrictamente la URI de redireccionamiento con el dominio autorizado registrado en la consola de desarrollador. Si el portal utiliza un subdominio diferente, o si pierde la conexión HTTPS, WeChat rechazará el intercambio de códigos.
Q3. El operador de un establecimiento desea recopilar datos de los visitantes pero insiste en que no haya fricción durante el proceso de inicio de sesión. Te solicita configurar el inicio de sesión de WeChat para recopilar el apodo y la ciudad del visitante sin mostrar un aviso de consentimiento. ¿Cómo respondes?
Sugerencia: Revisa las capacidades de los diferentes alcances (scopes) de OAuth.
Ver respuesta modelo
Debes informar al operador que esto es técnicamente imposible. Recopilar datos demográficos como el apodo y la ciudad requiere el alcance snsapi_userinfo, el cual activa obligatoriamente un aviso de consentimiento de WeChat. Para lograr cero fricción, debes usar snsapi_base, que funciona de forma silenciosa pero solo devuelve el OpenID.
Continúe leyendo esta serie
Cómo configurar un Captive Portal en Starlink: Una guía para ubicaciones remotas y marítimas
Esta guía detalla cómo omitir el hardware nativo de Starlink e integrar un Captive Portal administrado en la nube utilizando equipos de enrutamiento empresariales. Aprenderá cómo superar la limitación de CGNAT, aplicar la segmentación de VLAN, administrar las restricciones de ancho de banda satelital y garantizar el cumplimiento normativo.
Mejores prácticas de Captive Portal: Diseñando para una alta conversión y cumplimiento
Esta guía técnica ofrece a los gerentes de TI, arquitectos de red y directores de operaciones de establecimientos un plan completo para implementar captive portals que equilibren la seguridad de la red con una alta conversión de usuarios. Cubre toda la arquitectura, desde la segmentación de VLAN y la autenticación RADIUS hasta el diseño de consentimiento conforme a GDPR y la selección del método de autenticación. Basada en la experiencia operativa de Purple en más de 80,000 establecimientos y 440 millones de inicios de sesión en 2024, cada recomendación se fundamenta en datos reales de implementación.
Cómo optimizar los captive portals para una máxima seguridad de red y conversión de usuarios
Esta guía proporciona un plan técnico completo para optimizar los captive portals en entornos empresariales, abarcando la arquitectura de segmentación de red, la selección del método de autenticación, el diseño de consentimiento conforme a GDPR y la optimización de la conversión. Está dirigida a gerentes de TI, arquitectos de red y CTOs en hoteles, cadenas de retail, estadios y organizaciones del sector público que necesitan equilibrar la seguridad de la red con la captura de datos de primera mano. Purple opera la infraestructura de captive portal en más de 80,000 establecimientos con 440 millones de inicios de sesión en 2024, y los marcos de trabajo aquí presentados reflejan esa experiencia operativa.