Come configurare l'autenticazione OAuth di WeChat per i Captive Portal
Questa guida tecnica spiega come configurare l'autenticazione OAuth di WeChat per i Captive Portal. Dettaglia le registrazioni necessarie sulla piattaforma, il flusso OAuth 2.0, la selezione degli scope e i meccanismi di enforcement di rete necessari per acquisire in modo sicuro i dati di prima parte dei visitatori cinesi.
Ascolta questa guida
Visualizza trascrizione del podcast
- Executive Summary
- Architettura Tecnica
- Requisiti di Registrazione sulla Piattaforma
- WeChat Official Accounts Platform
- WeChat Open Platform
- Selezione dell'ambito e raccolta dati
- snsapi_base
- snsapi_userinfo
- Integrazione dell'applicazione della rete
- RADIUS Change of Authorization (CoA)
- MAC Address Bypass
- Considerazioni sulla conformità e sulla sicurezza
- Allineamento al GDPR e alla PIPL
- Protezione CSRF
- Validazione del Redirect URI

Executive Summary
Quando i visitatori cinesi si connettono al tuo WiFi, presentare una splash page con sole opzioni di login tramite e-mail o Facebook crea un'immediata barriera all'ingresso. Con 1,38 miliardi di utenti attivi mensili, la configurazione di WeChat come provider di identità elimina questo ostacolo. Questa guida mostra come implementare l'autenticazione WeChat OAuth 2.0 per i Captive Portals, descrivendo in dettaglio le registrazioni necessarie sulla piattaforma, i flussi OAuth e i meccanismi di applicazione di rete richiesti per tradurre un login andato a buon fine in un accesso alla rete. Copriremo l'implementazione tecnica per hardware di livello enterprise, insieme ai requisiti di conformità ai sensi del GDPR e della PIPL.
Architettura Tecnica
Il Captive Portal intercetta il traffico HTTP dai dispositivi non autenticati e li reindirizza a una splash page ospitata su un server del portale. Quando integri WeChat OAuth, inserisci un provider di identità di terze parti in questo flusso.

Ecco l'interazione esatta passo dopo passo:
- Il visitatore si connette all'SSID.
- L'Access Point (AP) wireless o il controller wireless rileva la mancanza di una sessione autenticata e reindirizza il traffico HTTP all'URL del Captive Portal.
- Il visitatore seleziona il Login con WeChat.
- Il server del portale reindirizza il browser all'endpoint di autorizzazione di WeChat (
open.weixin.qq.com), passando i parametriAppID,redirect_uri,response_type=codeescope. - WeChat gestisce l'autenticazione. Se il visitatore si trova all'interno del browser in-app di WeChat utilizzando lo scope
snsapi_base, questo avviene in modo silenzioso. - WeChat reindirizza all'indirizzo
redirect_uridel portale con un codice di autorizzazione temporaneo. - Il server del portale scambia questo codice con un token di accesso chiamando
api.weixin.qq.com/sns/oauth2/access_token. - WeChat restituisce i parametri
access_token,refresh_tokene l'identificativoopeniddell'utente.
Requisiti di Registrazione sulla Piattaforma
L'implementazione del login con WeChat richiede la registrazione sulla piattaforma sviluppatori corretta. WeChat gestisce due piattaforme separate e la selezione di quella errata causerà il fallimento dell'integrazione.
WeChat Official Accounts Platform
Per i Captive Portals visualizzati all'interno del browser in-app di WeChat, è necessario un account di servizio registrato sulla WeChat Official Accounts Platform (mp.weixin.qq.com). Gli account di abbonamento non dispongono delle autorizzazioni di autorizzazione della pagina web OAuth richieste. Gli account di servizio supportano sia l'ambito snsapi_base che snsapi_userinfo.
WeChat Open Platform
Per i Captive Portals a cui si accede da browser mobili standard esterni a WeChat (ad esempio, Chrome su Android o Safari su iOS), è necessaria un'applicazione per sito web registrata sulla Open Platform (open.weixin.qq.com). Questa utilizza l'ambito snsapi_login e presenta un codice QR che l'utente deve scansionare con la propria app WeChat.
La maggior parte delle implementazioni aziendali richiede entrambe le registrazioni per coprire tutti i percorsi di accesso.
Selezione dell'ambito e raccolta dati
Il parametro dell'ambito determina quali dati WeChat restituisce al server del portale. Questa decisione influisce sia sull'attrito per l'utente che sulla conformità alla privacy dei dati.

snsapi_base
Questo ambito restituisce solo l'OpenID, l'identificatore univoco per l'utente all'interno del tuo account ufficiale. Non richiede alcuna richiesta di autorizzazione dell'utente, rendendo l'autenticazione silenziosa. Questo è ottimale per i visitatori di ritorno per i quali si dispone già di un profilo, o per le sedi che danno priorità all'attrito zero rispetto alla raccolta di nuovi dati.
snsapi_userinfo
Questo ambito restituisce l'OpenID insieme al nickname WeChat dell'utente, all'immagine del profilo, al genere, alle impostazioni della lingua e alla città. Richiede una pagina di autorizzazione esplicita, introducendo attrito. Utilizzalo per la registrazione dei visitatori per la prima volta in cui è necessario stabilire un profilo, in combinazione con un livello di consenso conforme al GDPR.
Integrazione dell'applicazione della rete
L'acquisizione di un token OAuth dimostra l'identità, ma non apre la rete. È necessario tradurre l'avvenuta autenticazione in accesso alla rete utilizzando protocolli standard.
RADIUS Change of Authorization (CoA)
Definito in IEEE 802.1X e RFC 3576, RADIUS CoA consente al server del portale di inviare una richiesta al controller di rete in seguito al successo di OAuth. Il controller sposta quindi il dispositivo da una VLAN non autenticata a una VLAN guest. Questo è lo standard per l'hardware di livello aziendale, tra cui Cisco Meraki, HPE Aruba, Ruckus e Juniper Mist.
MAC Address Bypass
In alternativa, il server del portale registra l'indirizzo MAC del dispositivo come client autorizzato e il controller ne consente l'accesso. Sebbene sia più semplice da implementare, è meno sicuro in quanto gli indirizzi MAC possono essere contraffatti.
La tecnologia cloud overlay di Purple automatizza questo passaggio di consegne, inviando i segnali appropriati all'hardware sottostante (tra cui Ubiquiti UniFi, Cambium, Extreme Networks e Fortinet) una volta completato l'OAuth di WeChat.
Considerazioni sulla conformità e sulla sicurezza
Allineamento al GDPR e alla PIPL
Se offri servizi a visitatori europei, il GDPR si applica ai dati raccolti tramite WeChat OAuth. Se offri servizi a visitatori cinesi, si applica la Personal Information Protection Law (PIPL) della Cina. Entrambi i framework richiedono che il trattamento abbia una base giuridica, una limitazione esplicita della finalità e la minimizzazione dei dati. Rispetto allo scope snsapi_userinfo, lo scope snsapi_base è più facile da allineare con i principi di minimizzazione dei dati.
Protezione CSRF
Il parametro state nelle richieste OAuth previene il Cross-Site Request Forgery. È necessario generare un valore di stato crittograficamente casuale, memorizzarlo nella sessione utente e convalidarlo al momento del reindirizzamento da parte di WeChat.
Validazione del Redirect URI
WeChat convalida il redirect_uri rispetto al dominio autorizzato registrato sulla piattaforma. Se il server del tuo portale utilizza un sottodominio o un percorso diverso, oppure utilizza HTTP anziché HTTPS, il flusso OAuth fallirà con l'errore 40029.
Per ulteriori informazioni sulla sicurezza della tua rete, consulta la nostra Sicurezza WiFi Enterprise: Una guida completa per il 2026 .
Definizioni chiave
snsapi_base
Uno scope OAuth di WeChat che restituisce solo l'OpenID dell'utente senza mostrare una richiesta di consenso.
Utilizzato quando i team IT devono autenticare silenziosamente i visitatori che ritornano, senza causare attriti al login.
snsapi_userinfo
Uno scope OAuth di WeChat che restituisce l'OpenID insieme ai dati demografici (soprannome, genere, città) e richiede il consenso esplicito dell'utente.
Utilizzato durante la prima registrazione quando i team di marketing devono creare un profilo del visitatore.
OpenID
Un identificatore univoco per un utente specifico all'interno di uno specifico account ufficiale WeChat.
Utilizzato come chiave primaria nel database del portale per tracciare il comportamento dei visitatori e le visite di ritorno.
RADIUS CoA
Change of Authorisation. Un meccanismo definito nella RFC 3576 che consente a un server di modificare lo stato di autorizzazione di una sessione attiva.
Utilizzato dal server del portale per comunicare al controller wireless di concedere l'accesso alla rete dopo una corretta autenticazione WeChat.
PIPL
Personal Information Protection Law. La normativa cinese globale sulla privacy dei dati.
Deve essere preso in considerazione insieme al GDPR quando si progetta il flusso di consenso per i visitatori cinesi che utilizzano il login di WeChat.
AppID e AppSecret
Le credenziali fornite da WeChat per identificare e autenticare la tua applicazione.
La chiave AppSecret deve rimanere al sicuro sul server del portale e non deve mai essere esposta nel codice lato client.
State Parameter
Una stringa crittograficamente casuale passata nella richiesta OAuth e convalidata al ritorno.
Essenziale per prevenire attacchi Cross-Site Request Forgery (CSRF) sul Captive Portal.
MAC Address Bypass
Un metodo per concedere l'accesso alla rete autorizzando l'indirizzo hardware del dispositivo anziché richiedere l'autenticazione 802.1X.
Un'alternativa a RADIUS CoA per configurazioni di rete più semplici, sebbene meno sicura.
Esempi pratici
Un marchio di vendita al dettaglio di lusso a Londra desidera offrire l'accesso con WeChat ai clienti cinesi. Desidera raccogliere dati demografici per comprendere la propria base clienti, ma è preoccupato per la conformità al GDPR e per gli elevati tassi di abbandono sul portale.
Il rivenditore deve registrare un account di servizio sulla piattaforma ufficiale degli account WeChat. Deve configurare il portale in modo da utilizzare lo scope snsapi_userinfo per le prime connessioni, così da raccogliere i dati demografici (soprannome, genere, città). Per garantire la conformità al GDPR, la pagina del portale deve mostrare un opt-in chiaro e consapevole prima del reindirizzamento a WeChat, spiegando esattamente quali dati vengono raccolti e perché. Per i clienti che ritornano, il portale deve rilevare il MAC address e utilizzare lo scope snsapi_base per una ri-autenticazione silenziosa, riducendo al minimo gli attriti.
Uno stadio distribuisce una nuova rete WiFi utilizzando controller HPE Aruba. Hanno configurato l'autenticazione OAuth di WeChat e il portale riceve correttamente il token di accesso, ma il dispositivo del visitatore rimane sulla pagina del Captive Portal e non può accedere a internet.
L'integrazione manca di un meccanismo di enforcement di rete. Il server del portale ha verificato l'identità dell'utente con WeChat, ma non ha ordinato al controller HPE Aruba di concedere l'accesso. Il server del portale deve essere configurato per inviare un messaggio RADIUS Change of Authorisation (CoA) al controller, istruendolo a trasferire il MAC address dell'utente dal ruolo di pre-autenticazione al ruolo di ospite autenticato.
Domande di esercitazione
Q1. Stai distribuendo un captive portal in una catena di negozi. I test mostrano che gli utenti che aprono il portale in Safari su iOS ricevono un errore quando selezionano l'accesso con WeChat, mentre gli utenti che aprono il portale da un link all'interno di un messaggio WeChat si autenticano con successo. Qual è la causa probabile?
Suggerimento: Considera la differenza tra il browser in-app di WeChat e i browser mobile standard.
Visualizza risposta modello
L'implementazione si affida probabilmente solo a un Service Account registrato sulla Official Accounts Platform, che supporta OAuth solo all'interno del browser in-app di WeChat. Per supportare Safari su iOS, devi anche registrare una Website Application sulla WeChat Open Platform e implementare il rilevamento dello user agent per instradare gli utenti di Safari verso il flusso del codice QR.
Q2. I log del server del tuo portale mostrano frequenti errori 40029 "invalid code" restituiti dall'API di WeChat durante lo scambio dell'access token. Quale configurazione dovresti verificare per prima?
Suggerimento: Pensa a come WeChat convalida l'origine della richiesta di autenticazione.
Visualizza risposta modello
Dovresti verificare la configurazione di redirect_uri. WeChat convalida rigorosamente l'URI di reindirizzamento rispetto al dominio autorizzato registrato nella console per sviluppatori. Se il portale utilizza un sottodominio diverso o se non utilizza HTTPS, WeChat rifiuterà lo scambio del codice.
Q3. Il gestore di una location desidera raccogliere i dati dei visitatori ma insiste sul fatto che non vi debba essere alcun attrito durante il processo di login. Richiede di configurare l'accesso WeChat per raccogliere il nickname e la città del visitatore senza mostrare una richiesta di consenso. Come rispondi?
Suggerimento: Rivedi le funzionalità dei diversi scope OAuth.
Visualizza risposta modello
Devi informare il gestore che questo è tecnicamente impossibile. La raccolta di dati demografici come il nickname e la città richiede lo scope snsapi_userinfo, che attiva obbligatoriamente una richiesta di consenso di WeChat. Per ottenere un attrito zero, devi utilizzare snsapi_base, che funziona in modo silenzioso ma restituisce solo l'OpenID.
Continua a leggere questa serie
Captive Portal per Ruijie: come configurarlo con Purple guest WiFi
Come il cloud guest WiFi di Purple si integra con gli access point Ruijie serie RG utilizzando l'autenticazione web e RADIUS, configurati da riga di comando, e dove trovare i passaggi esatti di configurazione.
Progettazione di Captive Portal B2B: Raccolta dei Dati del Nome Registrato e dell'Azienda
Questa guida fornisce ai responsabili IT e ai gestori di sedi un framework tecnico indipendente dal fornitore per la progettazione di Captive Portal B2B. Dettaglia come strutturare i campi di registrazione per acquisire il nome registrato e i dati aziendali, garantendo tassi di completamento elevati pur mantenendo la conformità al GDPR e creando un'intelligence a livello di account.
Architettura Captive Portal: sicurezza, reindirizzamento e best practice
Un riferimento tecnico definitivo sull'architettura enterprise del captive portal. Questa guida analizza l'isolamento della rete, il reindirizzamento DNS, l'autenticazione RADIUS e la conformità della sicurezza per i responsabili IT che implementano reti WiFi ospiti sicure e ricche di dati.