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 y los mecanismos de aplicación de red necesarios para recopilar datos de origen de visitantes chinos de forma segura.
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
- WeChat Open Platform
- Selección de alcance y recopilación de datos
- snsapi_base
- snsapi_userinfo
- Integración de la aplicación de red
- RADIUS Change of Authorization (CoA)
- MAC Address Bypass
- Consideraciones de cumplimiento y seguridad
- Alineación con GDPR y PIPL
- Protección CSRF
- Validación de URI de redirección

Resumen Ejecutivo
Cuando los visitantes chinos se conectan a su WiFi, presentar una página de bienvenida que solo ofrece opciones de inicio de sesión por correo electrónico o Facebook crea una barrera de entrada inmediata. Con 13,800 millones de usuarios activos mensuales, configurar WeChat como proveedor de identidad elimina esta fricción. Esta guía demuestra cómo implementar la autenticación WeChat OAuth 2.0 para Captive Portals, detallando los registros de plataforma necesarios, los flujos de OAuth y los mecanismos de aplicación de red requeridos para traducir un inicio de sesión exitoso en acceso a la red. Cubriremos la implementación técnica para hardware de nivel empresarial, junto con los requisitos de cumplimiento bajo el GDPR y la PIPL.
Arquitectura Técnica
El Captive Portal intercepta el tráfico HTTP de los dispositivos no autenticados y los redirige a una página de bienvenida alojada en un servidor de portal. Al integrar WeChat OAuth, se inserta un proveedor de identidad de terceros en este flujo.

Aquí se detalla la interacción paso a paso exacta:
- El visitante se conecta al SSID.
- El punto de acceso inalámbrico (AP) o el 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 de WeChat.
- El servidor del portal redirige el navegador al endpoint de autorización de WeChat (
open.weixin.qq.com), pasando elAppID,redirect_uri,response_type=codeyscope. - WeChat gestiona la autenticación. Si el visitante está dentro del navegador integrado de WeChat utilizando el alcance
snsapi_base, esto ocurre de forma silenciosa. - WeChat redirige de vuelta a la
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 el
access_token,refresh_tokeny elopeniddel usuario.
Requisitos de Registro en la Plataforma
La implementación del inicio de sesión de WeChat requiere el registro en la plataforma de desarrollo correcta. WeChat opera dos plataformas independientes, y seleccionar la incorrecta provocará fallos en la integración.
Plataforma de Cuentas Oficiales de WeChat
Para los Captive Portals que se muestran dentro del navegador integrado de WeChat, se requiere una Service Account registrada en la WeChat Official Accounts Platform (mp.weixin.qq.com). Las Subscription Accounts carecen de los permisos de autorización de páginas web OAuth requeridos. Las Service Accounts son compatibles con los alcances snsapi_base y snsapi_userinfo.
WeChat Open Platform
Para los Captive Portals a los que se accede desde navegadores móviles estándar fuera de WeChat (por ejemplo, Chrome en Android o Safari en iOS), se necesita una Website Application registrada en la Open Platform (open.weixin.qq.com). Esta utiliza el alcance snsapi_login y presenta un código QR para que el usuario lo escanee con su aplicación WeChat.
La mayoría de las implementaciones empresariales requieren ambos registros para cubrir todas las vías de acceso.
Selección de alcance y recopilación de datos
El parámetro del alcance determina qué datos devuelve WeChat a su servidor del portal. Esta decisión afecta tanto a la fricción del usuario como al cumplimiento de la privacidad de los datos.

snsapi_base
Este alcance devuelve únicamente el OpenID, el identificador único para el usuario dentro de su Official Account. No requiere solicitud de autorización del usuario, lo que hace que la autenticación sea silenciosa. Esto es óptimo para los visitantes recurrentes de los que ya se tiene un perfil, o para establecimientos que priorizan una fricción cero por encima de la recopilación de nuevos datos.
snsapi_userinfo
Este alcance devuelve el OpenID junto con el apodo de WeChat del usuario, la foto de perfil, el género, la configuración de idioma y la ciudad. Requiere una página de autorización explícita, lo que introduce fricción. Utilice esto para el registro de visitantes primerizos donde sea necesario establecer 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 de OAuth demuestra la identidad, pero no abre la red. Debe traducir la autenticación exitosa en acceso a la red utilizando protocolos estándar.
RADIUS Change of Authorization (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 tras un OAuth exitoso. El controlador luego mueve el dispositivo de una VLAN no autenticada a una VLAN de invitados. Este es el estándar para el hardware de nivel empresarial, incluidos Cisco Meraki, HPE Aruba, Ruckus y Juniper Mist.
MAC Address Bypass
Alternativamente, el servidor del portal registra la dirección MAC del dispositivo como un cliente autorizado y el controlador permite el acceso. Aunque es más fácil de implementar, es menos seguro ya que las direcciones MAC se pueden suplantar.
La tecnología de superposición en la nube de Purple automatiza este traspaso, enviando las señales adecuadas al hardware subyacente (incluidos Ubiquiti UniFi, Cambium, Extreme y Fortinet) una vez que se completa el WeChat OAuth.
Consideraciones de cumplimiento y seguridad
Alineación con GDPR y PIPL
Si ofrece servicios a visitantes europeos, el GDPR se aplica a los datos recopilados a través de WeChat OAuth. Si ofrece servicios a visitantes chinos, se aplica la Ley de Protección de Información Personal (PIPL) de China. Ambos marcos requieren que el procesamiento tenga una base legal, una limitación explícita de la finalidad y la minimización de datos.
Protección CSRF
El parámetro state en las solicitudes de OAuth evita la falsificación de solicitudes en sitios cruzados (CSRF). Debe generar un valor de estado criptográficamente aleatorio, almacenarlo en la sesión del usuario y validarlo cuando WeChat redireccione de vuelta.
Validación de URI de redirección
WeChat valida el redirect_uri con respecto al dominio autorizado registrado en la plataforma. Si el servidor de su portal utiliza un subdominio o ruta diferente, o utiliza HTTP 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 Seguridad WiFi empresarial: Una guía completa para 2026 .
Definiciones clave
snsapi_base
Un alcance de WeChat OAuth que devuelve solo el OpenID del usuario sin mostrar una solicitud de consentimiento.
Se utiliza cuando los equipos de TI necesitan autenticar a los visitantes que regresan 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 WeChat Official Account específica.
Se utiliza como clave principal en la base de datos del portal para rastrear el comportamiento de los visitantes y las visitas recurrentes.
RADIUS CoA
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.
Utilizado por el servidor del portal para indicarle al controlador inalámbrico que otorgue acceso a la red después de una autenticación exitosa de WeChat.
PIPL
Personal Information Protection Law. La regulación integral de privacidad de datos de China.
Debe considerarse junto con 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 Cross-Site Request Forgery (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 simples, aunque menos segura.
Ejemplos resueltos
Una marca de venta minorista de lujo en Londres desea ofrecer inicio de sesión con WeChat para compradores chinos. Quieren recopilar datos demográficos para entender a su base de clientes, pero les preocupa el cumplimiento de GDPR y las altas tasas de abandono en el portal.
El minorista debe registrar una Service Account en la WeChat Official Accounts Platform. Deben configurar el portal para usar el alcance snsapi_userinfo para conexiones de primera vez para recopilar datos demográficos (apodo, género, ciudad). Para garantizar el cumplimiento de GDPR, la página del portal debe mostrar un consentimiento de opción voluntaria claro y consciente 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 reautenticación silenciosa, minimizando la fricción.
Un estadio implementa 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 de RADIUS Change of Authorisation (CoA) al controlador, indicándole que cambie 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 dentro de un mensaje de WeChat se autentican correctamente. ¿Cuál es la causa más 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 aplicación web en la WeChat Open Platform e implementar la detección del agente de usuario 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 "código no válido" que provienen de la API de WeChat durante el intercambio del token de acceso. ¿Qué configuración deberías revisar 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 no utiliza HTTPS, WeChat rechazará el intercambio de códigos.
Q3. El operador de un establecimiento desea recopilar datos de los visitantes, pero insiste en que el proceso de inicio de sesión no tenga fricciones. Te solicita configurar el inicio de sesión de WeChat para recopilar el apodo y la ciudad del visitante sin mostrar un mensaje de consentimiento. ¿Cómo respondes?
Sugerencia: Revisa las capacidades de los diferentes alcances 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 mensaje de consentimiento de WeChat. Para lograr cero fricciones, debes usar snsapi_base, que funciona de manera silenciosa pero solo devuelve el OpenID.
Continúe leyendo esta serie
Captive Portal para Ruijie: configúralo con Purple guest WiFi
Cómo la plataforma de guest WiFi en la nube de Purple se integra sobre los puntos de acceso Ruijie RG Series mediante autenticación web y RADIUS, configurada desde la línea de comandos, y dónde encontrar los pasos exactos de configuración.
Diseño de Captive Portals B2B: Recopilación de Nombres Registrados y Datos de la Empresa
Esta guía proporciona a los directores de TI y operadores de recintos un marco técnico neutral del proveedor para diseñar Captive Portals B2B. Detalla cómo estructurar los campos de registro para capturar el nombre registrado y los datos de la empresa, garantizando altas tasas de finalización al tiempo que se mantiene el cumplimiento de GDPR y se crea inteligencia a nivel de cuenta.
Captive Portal Architecture: Security, Redirection, and Best Practices
Una referencia técnica definitiva sobre la arquitectura de Captive Portal empresarial. Esta guía detalla el aislamiento de red, la redirección de DNS, la autenticación RADIUS y el cumplimiento de seguridad para los líderes de TI que implementan redes WiFi de invitados seguras y enriquecidas con datos.