Como Configurar a Autenticação WeChat OAuth para Captive Portals
Este guia técnico explica como configurar a autenticação WeChat OAuth para captive portals. Detalha os registos de plataforma necessários, o fluxo OAuth 2.0, a seleção de âmbito (scope) e os mecanismos de aplicação de rede necessários para recolher dados primários (first-party) de visitantes chineses de forma segura.
Ouça este guia
Ver transcrição do podcast
- Resumo Executivo
- Arquitetura Técnica
- Requisitos de Registo na Plataforma
- Plataforma de Contas Oficiais do WeChat
- Seleção de Âmbito e Recolha de Dados
- snsapi_base
- snsapi_userinfo
- Integração de Imposição de Rede
- RADIUS Change of Authorisation (CoA)
- MAC Address Bypass
- Considerações de Conformidade e Segurança
- Alinhamento com GDPR e PIPL
- Proteção CSRF
- Validação do URI de Redirecionamento

Resumo Executivo
Quando os visitantes chineses se ligam ao seu WiFi, apresentar uma página de login apenas com e-mail ou Facebook cria uma fricção imediata. O WeChat tem 1,38 mil milhões de utilizadores ativos mensais, e configurá-lo como fornecedor de identidade elimina esta barreira. Este guia explica como implementar a autenticação WeChat OAuth 2.0 para Captive Portals, detalhando os registos de plataforma necessários, o fluxo de OAuth e os mecanismos de aplicação de rede necessários para traduzir um login bem-sucedido em acesso à rede. Cobrimos a implementação técnica em hardware empresarial e os requisitos de conformidade ao abrigo do GDPR e da PIPL.
Arquitetura Técnica
Um Captive Portal intercepta o tráfego HTTP de um dispositivo não autenticado e redireciona-o para uma página de login alojada num servidor de portal. Quando integra o WeChat OAuth, insere um fornecedor de identidade de terceiros neste fluxo.

A sequência funciona da seguinte forma:
- O visitante liga-se ao SSID.
- O ponto de acesso ou controlador sem fios deteta a ausência de uma sessão autenticada e redireciona o tráfego HTTP para o URL do Captive Portal.
- O visitante seleciona o login do WeChat.
- O servidor do portal redireciona o browser para o endpoint de autorização do WeChat (
open.weixin.qq.com), passando oAppID,redirect_uri,response_type=codeescope. - O WeChat trata da autenticação. Se o visitante utilizar o browser integrado na aplicação WeChat com o scope
snsapi_base, isto ocorre de forma silenciosa. - O WeChat redireciona de volta para o
redirect_urido portal com um código de autorização temporário. - O servidor do portal troca este código por um token de acesso chamando
api.weixin.qq.com/sns/oauth2/access_token. - O WeChat devolve um
access_token,refresh_tokene oopeniddo utilizador.
Requisitos de Registo na Plataforma
A implementação do login do WeChat requer o registo na plataforma de programadores correta. O WeChat opera duas plataformas distintas, e selecionar a errada faz com que a integração falhe.
Plataforma de Contas Oficiais do WeChat
Para um Captive Portal que serve visitantes dentro do browser integrado na aplicação WeChat, necessita de uma Conta de Serviço na Plataforma de Contas Oficiais (mp.weixin.qq.com). Uma Conta de Subscrição carece das permissões de autorização de página web OAuth necessárias. Uma Conta de Serviço suporta os scopes snsapi_base e snsapi_userinfo.### WeChat Open Platform
Para um Captive Portal acedido a partir de um browser móvel padrão fora do WeChat (como o Chrome no Android ou o Safari no iOS), necessita de uma Website Application registada na Open Platform (open.weixin.qq.com). Esta utiliza o âmbito snsapi_login e apresenta um código QR que o utilizador digitaliza com a sua aplicação WeChat.
A maioria das implementações empresariais exige ambos os registos para cobrir todos os métodos de acesso.
Seleção de Âmbito e Recolha de Dados
O parâmetro de âmbito determina quais os dados que o WeChat devolve ao servidor do seu portal. Esta decisão tem impacto tanto na fricção do utilizador como na conformidade com a privacidade dos dados.

snsapi_base
Este âmbito devolve apenas o OpenID, um identificador único para o utilizador dentro da sua Official Account. Não requer qualquer pedido de consentimento do utilizador, tornando a autenticação invisível para o mesmo. Isto é ideal para visitantes que regressam e dos quais já possui um perfil, ou para locais que priorizam a fricção zero em detrimento da recolha de novos dados.
snsapi_userinfo
Este âmbito devolve o OpenID mais a alcunha do utilizador no WeChat, a imagem de perfil, o género, a definição de idioma e a cidade. Requer um ecrã de consentimento explícito, introduzindo fricção. Utilize esta opção para o registo de visitantes pela primeira vez, onde a criação de um perfil é necessária, combinada com uma camada de consentimento em conformidade com o GDPR.
Integração de Imposição de Rede
A obtenção de um token OAuth prova a identidade, mas não abre a rede. Deve traduzir uma autenticação bem-sucedida em acesso à rede utilizando protocolos padrão.
RADIUS Change of Authorisation (CoA)
Definido em IEEE 802.1X e RFC 3576, o RADIUS CoA permite que o servidor do portal envie um pedido ao controlador de rede após o sucesso do OAuth. O controlador move então o dispositivo da VLAN não autenticada para a VLAN de convidados. Este é o padrão para hardware empresarial, incluindo Cisco Meraki, HPE Aruba, Ruckus e Juniper Mist.
MAC Address Bypass
Alternativamente, o servidor do portal regista o endereço MAC do dispositivo como um cliente autorizado, e o controlador permite-o. Embora seja mais simples de implementar, é menos seguro, uma vez que os endereços MAC podem ser falsificados.
A sobreposição de nuvem da Purple automatiza esta tradução, enviando o sinal apropriado para o hardware subjacente (incluindo Ubiquiti UniFi, Cambium, Extreme e Fortinet) assim que o WeChat OAuth for concluído.
Considerações de Conformidade e Segurança
Alinhamento com GDPR e PIPL
Se serve visitantes europeus, o GDPR aplica-se aos dados recolhidos através do WeChat OAuth. Se serve visitantes chineses, aplica-se a Lei de Proteção de Informações Pessoais da China (PIPL). Ambos os enquadramentos exigem uma base legal para o processamento, limitação clara da finalidade e minimização de dados. O âmbito snsapi_base alinha-se mais facilmente com os princípios de minimização de dados do que o snsapi_userinfo.
Proteção CSRF
O parâmetro state no pedido OAuth previne a falsificação de pedidos entre sites (cross-site request forgery). Deve gerar um valor de estado criptograficamente aleatório, armazená-lo na sessão do utilizador e validá-lo quando o WeChat redirecionar de volta.
Validação do URI de Redirecionamento
O WeChat valida o redirect_uri em relação ao domínio autorizado registado na plataforma. Se o seu servidor de portal utilizar um subdomínio, caminho ou HTTP diferente em vez de HTTPS, o fluxo OAuth falha com o erro 40029.
Para mais informações sobre como proteger a sua rede, consulte o nosso Enterprise WiFi Security: A Complete Guide for 2026 .
Definições Principais
snsapi_base
Um âmbito de OAuth do WeChat que devolve apenas o OpenID do utilizador sem apresentar um pedido de consentimento.
Utilizado quando as equipas de TI necessitam de autenticar visitantes recorrentes de forma silenciosa, sem causar fricção no início de sessão.
snsapi_userinfo
Um âmbito de OAuth do WeChat que devolve o OpenID juntamente com dados demográficos (alcunha, género, cidade) e requer o consentimento explícito do utilizador.
Utilizado durante o primeiro registo quando as equipas de marketing necessitam de criar um perfil de visitante.
OpenID
Um identificador único para um utilizador específico dentro de uma Conta Oficial do WeChat específica.
Utilizado como a chave primária na base de dados do portal para monitorizar o comportamento dos visitantes e as visitas recorrentes.
RADIUS CoA
Change of Authorisation (Alteração de Autorização). Um mecanismo definido no RFC 3576 que permite a um servidor modificar o estado de autorização de uma sessão ativa.
Utilizado pelo servidor do portal para indicar ao controlador sem fios que conceda acesso à rede após uma autenticação bem-sucedida no WeChat.
PIPL
Personal Information Protection Law (Lei de Proteção de Informações Pessoais). O regulamento abrangente de privacidade de dados da China.
Deve ser considerado em conjunto com o GDPR ao conceber o fluxo de consentimento para visitantes chineses que utilizam o início de sessão do WeChat.
AppID and AppSecret
As credenciais fornecidas pelo WeChat para identificar e autenticar a sua aplicação.
O AppSecret deve permanecer de forma segura no servidor do portal e nunca ser exposto no código do lado do cliente.
State Parameter
Uma string criptograficamente aleatória transmitida no pedido de OAuth e validada no retorno.
Essencial para prevenir ataques de Cross-Site Request Forgery (CSRF) no Captive Portal.
MAC Address Bypass
Um método de concessão de acesso à rede através da autorização do endereço de hardware do dispositivo, em vez de exigir a autenticação 802.1X.
Uma alternativa ao RADIUS CoA para configurações de rede mais simples, embora menos segura.
Exemplos Práticos
Uma marca de retalho de luxo em Londres pretende disponibilizar o início de sessão com o WeChat para compradores chineses. Pretendem recolher dados demográficos para compreender a sua base de clientes, mas estão preocupados com a conformidade com o GDPR e com as elevadas taxas de abandono no portal.
O retalhista deve registar uma Conta de Serviço na Plataforma de Contas Oficiais do WeChat. Deve configurar o portal para utilizar o âmbito snsapi_userinfo nas primeiras ligações para recolher dados demográficos (alcunha, género, cidade). Para garantir a conformidade com o GDPR, a página do portal deve apresentar uma opção de consentimento (opt-in) clara e consciente antes do redirecionamento do WeChat, explicando exatamente quais os dados recolhidos e porquê. Para os compradores que regressam, o portal deve detetar o endereço MAC e utilizar o snsapi_base para uma nova autenticação silenciosa, minimizando a fricção.
Um estádio implementa uma nova rede WiFi utilizando controladores HPE Aruba. Configuraram o WeChat OAuth e o portal recebe com sucesso o token de acesso, mas o dispositivo do visitante permanece na página do captive portal e não consegue aceder à internet.
A integração carece de um mecanismo de aplicação de rede. O servidor do portal verificou a identidade do utilizador junto do WeChat, mas não instruiu o controlador HPE Aruba a conceder o acesso. O servidor do portal deve ser configurado para enviar uma mensagem RADIUS Change of Authorisation (CoA) para o controlador, instruindo-o a transitar o endereço MAC do utilizador do perfil de pré-autenticação para o perfil de convidado autenticado.
Perguntas de Prática
Q1. Está a implementar um Captive Portal numa cadeia de retalho. Os testes mostram que os utilizadores que abrem o portal no Safari em iOS recebem um erro ao selecionar o início de sessão com o WeChat, mas os utilizadores que abrem o portal a partir de um link de mensagem do WeChat autenticam-se com sucesso. Qual é a causa provável?
Dica: Considere a diferença entre o browser integrado do WeChat e os browsers móveis padrão.
Ver resposta modelo
A implementação está provavelmente a depender exclusivamente de uma Conta de Serviço registada na Official Accounts Platform, que apenas suporta OAuth dentro do browser integrado do WeChat. Para suportar o Safari em iOS, deve também registar uma Website Application na WeChat Open Platform e implementar a deteção de user agent para encaminhar os utilizadores do Safari para o fluxo de código QR.
Q2. Os registos do servidor do seu portal mostram erros frequentes 40029 'invalid code' retornados pela API do WeChat durante a troca do token de acesso. Que configuração deve verificar primeiro?
Dica: Pense em como o WeChat valida a origem do pedido de autenticação.
Ver resposta modelo
Deve verificar a configuração do redirect_uri. O WeChat valida rigorosamente o URI de redirecionamento em relação ao domínio autorizado registado na consola do programador. Se o portal estiver a utilizar um subdomínio diferente, ou se perder o HTTPS, o WeChat rejeitará a troca de código.
Q3. O operador de um espaço pretende recolher dados dos visitantes, mas insiste em que não haja qualquer fricção durante o processo de início de sessão. Solicita que configure o início de sessão do WeChat para recolher a alcunha e a cidade do visitante sem apresentar um pedido de consentimento. Como responde?
Dica: Reveja as capacidades dos diferentes âmbitos (scopes) de OAuth.
Ver resposta modelo
Deve informar o operador de que tal é tecnicamente impossível. A recolha de dados demográficos como a alcunha e a cidade requer o âmbito snsapi_userinfo, que aciona obrigatoriamente um pedido de consentimento do WeChat. Para obter zero fricção, deve utilizar o snsapi_base, que funciona de forma silenciosa mas apenas retorna o OpenID.
Continue a ler esta série
How to Set Up a Captive Portal on Starlink: A Guide for Remote & Maritime Venues
Este guia detalha como contornar o hardware nativo da Starlink e integrar um Captive Portal gerido na nuvem utilizando equipamento de encaminhamento empresarial. Irá aprender a ultrapassar a limitação de CGNAT, impor a segmentação de VLAN, gerir as restrições de largura de banda de satélite e garantir a conformidade regulamentar.
Captive Portal Best Practices: Designing for High Conversion and Compliance
Este guia técnico oferece aos gestores de TI, arquitetos de rede e diretores de operações de espaços comerciais um plano completo para implementar portais cativos que equilibram a segurança de rede com uma elevada conversão de utilizadores. Abrange toda a arquitetura, desde a segmentação de VLAN e autenticação RADIUS até ao design de consentimento em conformidade com o GDPR e à seleção do método de autenticação. Com base na experiência operacional da Purple em mais de 80.000 locais e 440 milhões de inícios de sessão em 2024, cada recomendação é fundamentada em dados reais de implementação.
Como Otimizar Captive Portals para a Máxima Segurança de Rede e Conversão de Utilizadores
Este guia fornece um plano técnico completo para otimizar captive portals em locais empresariais, abrangendo a arquitetura de segmentação de rede, a seleção do método de autenticação, o design de consentimento em conformidade com o GDPR e a otimização da conversão. Foi escrito para gestores de TI, arquitetos de rede e CTOs em hotéis, cadeias de retalho, estádios e organizações do setor público que precisam de equilibrar a segurança de rede com a captura de dados primários (first-party). A Purple opera infraestruturas de captive portal em mais de 80.000 locais com 440 milhões de inícios de sessão em 2024, e as estruturas aqui apresentadas refletem essa experiência operacional.