Cómo configurar la autenticación OAuth de WeChat para Captive Portals
Esta guía técnica explica cómo configurar la autenticación OAuth de WeChat 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 mano de los visitantes chinos.
Escuchar esta guía
Ver transcripción del podcast
- Resumen Ejecutivo
- Arquitectura Técnica
- Requisitos de Registro de la Plataforma
- Plataforma de Cuentas Oficiales de WeChat
- Plataforma Abierta de WeChat (Open Platform)
- Selección de Alcance (Scope) y Recopilación de Datos
- snsapi_base
- snsapi_userinfo
- Integración de la Aplicación en la Red
- RADIUS Change of Authorisation (CoA)
- Omisión de Dirección MAC (MAC Address Bypass)
- Consideraciones de Seguridad y Cumplimiento Normativo
- Alineación con la GDPR y la PIPL
- Protección contra 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 tiene 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 OAuth 2.0 de WeChat 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 normativo bajo la GDPR y la 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 OAuth de WeChat, introduce un proveedor de identidad de terceros en este flujo.

La secuencia funciona 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 de WeChat.
- El servidor del portal redirige el navegador al punto de conexión de autorización de WeChat (
open.weixin.qq.com), pasando 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 nuevo 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 un
access_token,refresh_tokeny elopeniddel usuario.
Requisitos de Registro de 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 distintas, y seleccionar la incorrecta hará 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, necesita 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 de OAuth necesarios. Una Cuenta de Servicio admite los alcances snsapi_base y snsapi_userinfo.
Plataforma Abierta de 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), necesita una Aplicación Web registrada en la Plataforma Abierta (open.weixin.qq.com). Esta utiliza el alcance snsapi_login y presenta un código QR que el usuario escanea con su aplicación WeChat.
La mayoría de los despliegues empresariales requieren ambos registros para cubrir todos los métodos de acceso.
Selección de Alcance (Scope) y Recopilación de Datos
El parámetro de alcance determina qué datos devuelve WeChat a su servidor de 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 solo 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 visitantes recurrentes de los que ya dispone de un perfil, o para establecimientos que priorizan la fricción cero 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ícita, lo que introduce fricción. Utilice esto para el registro de visitantes por primera vez cuando sea necesario crear un perfil, combinado con una capa de consentimiento que cumpla con la GDPR.
Integración de la Aplicación en la Red
La obtención de un token de OAuth demuestra la identidad, pero no abre la red. Debe traducir una autenticación exitosa en acceso a la red utilizando protocolos estándar.
RADIUS Change of Authorisation (CoA)
Definido en IEEE 802.1X y RFC 3576, RADIUS CoA permite al servidor del portal enviar una solicitud al controlador de red tras un OAuth exitoso. A continuación, 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 (MAC Address Bypass)
Como alternativa, 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 suplantar.
La capa 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 Normativo
Alineación con la GDPR y la PIPL
Si atiende a visitantes europeos, la GDPR se aplica a los datos recopilados a través de OAuth de WeChat. Si atiende a visitantes chinos, se aplica la Ley de Protección de Información Personal (PIPL) de China. Ambos marcos requieren una base legal para el tratamiento, 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 contra CSRF
El parámetro state en la solicitud de OAuth preveevita la falsificación de petición en sitios cruzados. Debe generar un valor de estado aleatorio criptográficamente, almacenarlo en la sesión del usuario y validarlo cuando WeChat realice la redirección de vuelta.
Validación de la URI de redirección
WeChat valida la redirect_uri con respecto al dominio autorizado registrado en la plataforma. Si el servidor de su portal utiliza un subdominio, ruta o HTTP en lugar de HTTPS diferente, el flujo de OAuth fallará con el error 40029.
Para obtener más información sobre cómo proteger su red, consulte nuestra guía Seguridad WiFi empresarial: una guía completa para 2026 .
Definiciones clave
snsapi_base
Un alcance (scope) de OAuth de WeChat 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 recurrentes de forma silenciosa sin causar fricción en el inicio de sesión.
snsapi_userinfo
Un alcance (scope) de OAuth de WeChat 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 primer registro 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 clave primaria en la base de datos del portal para realizar un seguimiento del comportamiento de los visitantes y las visitas recurrentes.
RADIUS CoA
Change of Authorisation (Cambio de Autorización). 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 indicar al controlador inalámbrico que conceda acceso a la red tras una autenticación exitosa en WeChat.
PIPL
Personal Information Protection Law (Ley de Protección de Información Personal). La regulación de privacidad de datos integral de China.
Debe considerarse junto con la 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 de OAuth y se valida al retornar.
Esencial para prevenir ataques de falsificación de petición en sitios cruzados (CSRF) en el captive portal.
MAC Address Bypass
Un método para conceder 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 prácticos
Una marca de venta minorista de lujo en Londres quiere ofrecer el inicio de sesión con WeChat para 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 (Service Account) en la Plataforma de Cuentas Oficiales de WeChat. Debe configurar el portal para usar el alcance (scope) snsapi_userinfo en las primeras conexiones 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 antes de la redirección de WeChat, explicando exactamente qué datos se recopilan y por qué. Para los compradores recurrentes, 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 OAuth de WeChat y el portal recibe correctamente 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 indicado al controlador HPE Aruba que conceda el acceso. El servidor del portal debe configurarse para enviar un mensaje 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á desplegando 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: Considere la diferencia entre el navegador integrado 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 Plataforma de Cuentas Oficiales, que solo admite OAuth dentro del navegador integrado de WeChat. Para admitir Safari en iOS, también debe registrar una Aplicación Web en la Plataforma Abierta de WeChat (Open Platform) e implementar la detección del agente de usuario para dirigir a los usuarios de Safari al flujo de código QR.
Q2. Los registros del servidor de su portal muestran errores frecuentes 40029 'invalid code' devueltos por la API de WeChat durante el intercambio del token de acceso. ¿Qué configuración debería comprobar primero?
Sugerencia: Piense en cómo valida WeChat el origen de la solicitud de autenticación.
Ver respuesta modelo
Debe verificar la configuración de redirect_uri. WeChat valida estrictamente la URI de redirección con respecto al dominio autorizado registrado en la consola de desarrollador. Si el portal utiliza un subdominio diferente, o si deja de usar 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. Le solicita que configure el inicio de sesión de WeChat para recopilar el apodo y la ciudad del visitante sin mostrar una solicitud de consentimiento. ¿Cómo responde?
Sugerencia: Revise las capacidades de los diferentes alcances (scopes) de OAuth.
Ver respuesta modelo
Debe informar al operador de que esto es técnicamente imposible. La recopilación de datos demográficos como el apodo y la ciudad requiere el alcance snsapi_userinfo, que activa obligatoriamente una solicitud de consentimiento de WeChat. Para lograr una fricción cero, debe utilizar 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: guía para establecimientos remotos y marítimos
Esta guía detalla cómo omitir el hardware nativo de Starlink e integrar un Captive Portal gestionado en la nube utilizando equipos de enrutamiento empresariales. Aprenderá a superar la limitación de CGNAT, aplicar la segmentación de VLAN, gestionar las limitaciones de ancho de banda satelital y garantizar el cumplimiento normativo.
Hotel Guest WiFi Management: Integrating PMS, Portals, and Brand Standards
Esta guía técnica detalla cómo diseñar redes WiFi hoteleras de nivel empresarial, centrándose en la segmentación de VLAN, la integración de PMS para la gestión automatizada de sesiones y la optimización del Captive Portal para la captura de datos de conformidad con el GDPR.
Cómo optimizar los captive portals para una máxima seguridad de red y conversión de usuarios
Esta guía proporciona un esquema 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 la GDPR y la optimización de la conversión. Está dirigida a responsables de TI, arquitectos de red y CTO de hoteles, cadenas de tiendas, 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 portals 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.