Come configurare l'autenticazione WeChat OAuth per i Captive Portal
Questa guida tecnica spiega come configurare l'autenticazione WeChat OAuth per i captive portal. Dettaglia le registrazioni necessarie sulla piattaforma, il flusso OAuth 2.0, la selezione dello scope e i meccanismi di applicazione 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
- Selezione dell'ambito e raccolta dei dati
- snsapi_base
- snsapi_userinfo
- Integrazione dell'applicazione di rete
- RADIUS Change of Authorisation (CoA)
- MAC Address Bypass
- Considerazioni sulla conformità e sulla sicurezza
- Allineamento a GDPR e PIPL
- Protezione CSRF
- Convalida del Redirect URI

Executive Summary
Quando i visitatori cinesi si connettono al tuo WiFi, presentare una pagina di login con solo email o Facebook crea un attrito immediato. WeChat conta 1,38 miliardi di utenti attivi mensili e configurarlo come provider di identità elimina questa barriera. Questa guida spiega come implementare l'autenticazione WeChat OAuth 2.0 per i Captive Portal, descrivendo in dettaglio le registrazioni necessarie sulla piattaforma, il flusso OAuth e i meccanismi di applicazione di rete richiesti per tradurre un login riuscito in accesso alla rete. Copriamo l'implementazione tecnica su hardware aziendale e i requisiti di conformità ai sensi del GDPR e della PIPL.
Architettura Tecnica
Un Captive Portal intercetta il traffico HTTP da un dispositivo non autenticato e lo reindirizza a una pagina di login ospitata su un server del portale. Quando integri WeChat OAuth, inserisci un provider di identità di terze parti in questo flusso.

La sequenza funziona come segue:
- Il visitatore si connette all'SSID.
- L'access point o il controller wireless rileva l'assenza di una sessione autenticata e reindirizza il traffico HTTP all'URL del Captive Portal.
- Il visitatore seleziona il login tramite 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 utilizza il browser in-app di WeChat con lo scope
snsapi_base, questo avviene in modo silenzioso. - WeChat reindirizza l'utente al
redirect_uridel portale con un codice di autorizzazione temporaneo. - Il server del portale scambia questo codice con un token di accesso chiamando l'API
api.weixin.qq.com/sns/oauth2/access_token. - WeChat restituisce un
access_token, unrefresh_tokene l'openiddell'utente.
Requisiti di Registrazione sulla Piattaforma
L'implementazione del login WeChat richiede la registrazione sulla piattaforma sviluppatori corretta. WeChat gestisce due piattaforme distinte e la selezione di quella errata causa il fallimento dell'integrazione.
WeChat Official Accounts Platform
Per un Captive Portal destinato ai visitatori all'interno del browser in-app di WeChat, è necessario un Service Account sulla Official Accounts Platform (mp.weixin.qq.com). Un Subscription Account non dispone dei permessi di autorizzazione delle pagine web OAuth necessari. Un Service Account supporta sia lo scope snsapi_base che snsapi_userinfo.### WeChat Open Platform
Per un Captive Portal a cui si accede da un normale browser mobile al di fuori di WeChat (come Chrome su Android o Safari su iOS), è necessaria un'applicazione per siti web registrata sulla Open Platform (open.weixin.qq.com). Questa utilizza l'ambito snsapi_login e presenta un codice QR che l'utente scansiona con la propria app WeChat.
La maggior parte delle distribuzioni aziendali richiede entrambe le registrazioni per coprire tutti i metodi di accesso.
Selezione dell'ambito e raccolta dei dati
Il parametro dell'ambito determina quali dati WeChat restituisce al server del portale. Questa decisione influisce sia sull'attrito dell'utente sia sulla conformità alla privacy dei dati.

snsapi_base
Questo ambito restituisce solo l'OpenID, un identificatore univoco per l'utente all'interno del tuo Account Ufficiale. Non richiede alcuna richiesta di consenso da parte dell'utente, rendendo l'autenticazione invisibile all'utente. Questa è la soluzione ottimale per i visitatori di ritorno di cui si possiede già un profilo, o per i locali che preferiscono l'assenza di attrito rispetto alla raccolta di nuovi dati.
snsapi_userinfo
Questo ambito restituisce l'OpenID più il nickname WeChat dell'utente, l'immagine del profilo, il genere, l'impostazione della lingua e la città. Richiede una schermata di consenso esplicito, introducendo un elemento di attrito. Utilizza questa opzione per la registrazione dei visitatori che accedono per la prima volta, laddove sia necessario creare un profilo, abbinandola a un livello di consenso conforme al GDPR.
Integrazione dell'applicazione di rete
L'acquisizione di un token OAuth prova l'identità, ma non apre la rete. È necessario tradurre un'autenticazione riuscita in accesso alla rete utilizzando protocolli standard.
RADIUS Change of Authorisation (CoA)
Definito in IEEE 802.1X e RFC 3576, il RADIUS CoA consente al server del portale di inviare una richiesta al controller di rete dopo che l'OAuth è andato a buon fine. Il controller sposta quindi il dispositivo dalla VLAN non autenticata alla VLAN guest. Questo è lo standard per l'hardware aziendale, inclusi 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 lo consente. Sebbene sia più semplice da implementare, è meno sicuro in quanto gli indirizzi MAC possono essere contraffatti.
L'overlay cloud di Purple automatizza questa traduzione, inviando il segnale appropriato all'hardware sottostante (inclusi Ubiquiti UniFi, Cambium, Extreme e Fortinet) una volta completato l'OAuth di WeChat.
Considerazioni sulla conformità e sulla sicurezza
Allineamento a GDPR e PIPL
Se ti rivolgi a visitatori europei, il GDPR si applica ai dati raccolti tramite l'OAuth di WeChat. Se ti rivolgi a visitatori cinesi, si applica la legge cinese sulla protezione delle informazioni personali (PIPL). Entrambi i quadri normativi richiedono una base giuridica per il trattamento, una chiara limitazione delle finalità e la minimizzazione dei dati. L'ambito snsapi_base si allinea più facilmente ai principi di minimizzazione dei dati rispetto a snsapi_userinfo.
Protezione CSRF
Il parametro state nella richiesta OAuth previene la cross-site request forgery. È necessario generare un valore di stato crittograficamente casuale, memorizzarlo nella sessione dell'utente e convalidarlo quando WeChat reindirizza l'utente.
Convalida del Redirect URI
WeChat convalida il redirect_uri rispetto al dominio autorizzato registrato sulla piattaforma. Se il server del tuo Captive Portal utilizza un sottodominio, un percorso o un protocollo HTTP diverso anziché HTTPS, il flusso OAuth fallisce con l'errore 40029.
Per ulteriori informazioni sulla sicurezza della rete, consulta la nostra guida Enterprise WiFi Security: A Complete Guide for 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 di ritorno 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 Captive Portal 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 indicare al controller wireless di concedere l'accesso alla rete dopo una corretta autenticazione WeChat.
PIPL
Personal Information Protection Law. La normativa globale sulla privacy dei dati in Cina.
Deve essere preso in considerazione insieme al GDPR quando si progetta il flusso di consenso per i visitatori cinesi che utilizzano il login WeChat.
AppID and AppSecret
Le credenziali fornite da WeChat per identificare e autenticare la tua applicazione.
L'AppSecret deve rimanere protetto sul server del portale e non deve mai essere esposto nel codice lato client.
State Parameter
Una stringa crittograficamente casuale passata nella richiesta OAuth e convalidata al momento del ritorno.
Essenziale per prevenire attacchi di tipo 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 tramite WeChat per gli acquirenti cinesi. Desidera raccogliere dati demografici per comprendere la propria base clienti, ma teme la conformità al GDPR e gli elevati tassi di abbandono sul portale.
Il rivenditore deve registrare un Service Account sulla WeChat Official Accounts Platform. Deve configurare il portale per utilizzare lo scope snsapi_userinfo per le prime connessioni al fine di raccogliere dati demografici (nickname, sesso, città). Per garantire la conformità al GDPR, la pagina del portale deve mostrare un consenso esplicito e consapevole prima del reindirizzamento a WeChat, spiegando esattamente quali dati vengono raccolti e perché. Per gli acquirenti che ritornano, il portale deve rilevare l'indirizzo MAC e utilizzare snsapi_base per una riautenticazione silenziosa, riducendo al minimo gli ostacoli.
Uno stadio distribuisce una nuova rete WiFi utilizzando controller HPE Aruba. Ha configurato WeChat OAuth 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 è priva di un meccanismo di applicazione di rete. Il server del portale ha verificato l'identità dell'utente con WeChat, ma non ha istruito il controller HPE Aruba a concedere l'accesso. Il server del portale deve essere configurato per inviare un messaggio RADIUS Change of Authorisation (CoA) al controller, istruendolo a trasferire l'indirizzo MAC 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 il login 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 mobili standard.
Visualizza risposta modello
L'implementazione si affida probabilmente solo a un Service Account registrato sulla Official Accounts Platform, che supporta l'OAuth solo all'interno del browser in-app di WeChat. Per supportare Safari su iOS, è necessario registrare anche una Website Application sulla WeChat Open Platform e implementare il rilevamento dello user agent per indirizzare 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
È necessario verificare la configurazione del redirect_uri. WeChat convalida rigorosamente l'URI di reindirizzamento rispetto al dominio autorizzato registrato nella console sviluppatore. 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 per non avere alcun attrito durante il processo di login. Ti chiede di configurare il login di WeChat per raccogliere il nickname e la città del visitatore senza mostrare una richiesta di consenso. Come rispondi?
Suggerimento: Esamina 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, è necessario utilizzare snsapi_base, che opera in modo invisibile ma restituisce solo l'OpenID.
Continua a leggere questa serie
Come configurare un Captive Portal su Starlink: una guida per sedi remote e marittime
Questa guida spiega in dettaglio come escludere l'hardware nativo di Starlink e integrare un Captive Portal gestito in cloud utilizzando apparecchiature di routing aziendali. Imparerai come superare il limite del CGNAT, applicare la segmentazione VLAN, gestire i vincoli di larghezza di banda satellitare e garantire la conformità normativa.
Captive Portal Best Practices: Progettazione per Conversioni Elevate e Compliance
Questa guida tecnica offre a IT manager, architetti di rete e direttori operativi delle location un modello completo per l'implementazione di Captive Portal in grado di bilanciare la sicurezza di rete con un tasso elevato di conversione degli utenti. Copre l'intera architettura, dalla segmentazione VLAN e autenticazione RADIUS fino alla progettazione del consenso conforme al GDPR e alla selezione del metodo di autenticazione. Basata sull'esperienza operativa di Purple in oltre 80.000 location e 440 milioni di login nel 2024, ogni raccomandazione è fondata su dati reali di implementazione.
Come ottimizzare i Captive Portal per la massima sicurezza di rete e conversione degli utenti
Questa guida fornisce un progetto tecnico completo per l'ottimizzazione dei captive portal all'interno di strutture aziendali, coprendo l'architettura di segmentazione della rete, la selezione dei metodi di autenticazione, la progettazione del consenso conforme al GDPR e l'ottimizzazione delle conversioni. È scritta per IT manager, architetti di rete e CTO di hotel, catene di vendita al dettaglio, stadi e organizzazioni del settore pubblico che devono bilanciare la sicurezza della rete con l'acquisizione di dati di prima parte. Purple gestisce l'infrastruttura dei captive portal in oltre 80.000 sedi con 440 milioni di accessi nel 2024, e i framework qui presentati riflettono tale esperienza operativa.