Integrazione dell'autenticazione WiFi WeChat: onboarding tramite Captive Portal per i clienti APAC
WeChat conta 1,41 miliardi di utenti attivi mensili, il che lo rende l'identità digitale principale per i consumatori cinesi a livello globale. Questa guida spiega come integrare l'autenticazione OAuth 2.0 di WeChat nei Captive Portal aziendali per le sedi APAC, coprendo la registrazione sulla piattaforma, la selezione dell'ambito, l'applicazione della Change of Authorisation di RADIUS e la conformità al doppio framework con il GDPR e la PIPL cinese. Si rivolge a responsabili IT, architetti di rete e direttori operativi delle sedi che devono intervenire in questo trimestre.
Ascolta questa guida
Visualizza trascrizione del podcast
- Sintesi esecutiva
- Approfondimento tecnico
- Il flusso OAuth 2.0
- Registrazione sulla piattaforma: la decisione che fa fallire la maggior parte dei deployment
- Selezione dello scope e raccolta dati
- Applicazione di rete: RADIUS CoA e MAC bypass
- Guida all'implementazione
- Checklist pre-configurazione
- Passaggi di configurazione per Ruckus SmartZone
- Rilevamento del browser in-app
- Best practice
- Minimizzazione dei dati e conformità al doppio framework
- UnionID per implementazioni multi-struttura
- Rafforzamento della sicurezza
- Case studies
- Catena di hotel di lusso, Singapore
- Centro commerciale internazionale, Kuala Lumpur
- Risoluzione dei problemi e mitigazione dei rischi
- ROI e impatto aziendale

Sintesi esecutiva
Per le sedi aziendali che operano nella regione APAC, o che servono turisti cinesi a livello globale, l'autenticazione WeChat WiFi non è più un'opzione facoltativa. Con 1,41 miliardi di utenti attivi mensili al 2025 (fonte: Tencent), WeChat è l'identità digitale primaria per i consumatori cinesi. Un ospite che si connette al tuo SSID e vede solo opzioni di accesso via email o Facebook incontra un ostacolo immediato. Quasi certamente ha WeChat. Quasi certamente non ha un indirizzo email locale configurato su quel dispositivo.
Questa guida illustra in dettaglio come integrare WeChat OAuth 2.0 in un Captive Portal. Copriamo le due distinte registrazioni della piattaforma richieste da Tencent, la decisione sull'ambito (scope) che determina quali dati di prima parte raccogliere e il meccanismo RADIUS Change of Authorisation (CoA) che traduce uno scambio OAuth andato a buon fine in un effettivo accesso alla rete. Affrontiamo anche i requisiti di conformità sovrapposti del GDPR e della Personal Information Protection Law (PIPL) cinese.
La piattaforma Guest WiFi di Purple automatizza il livello di applicazione della rete su hardware Cisco Meraki, HPE Aruba, Ruckus, Juniper Mist, Ubiquiti UniFi, Cambium, Extreme e Fortinet. Purple opera in oltre 80.000 sedi attive e ha registrato 440 milioni di accessi nel 2024 (dati interni Purple).
Approfondimento tecnico
Il flusso OAuth 2.0
Un Captive Portal (un gateway di autenticazione basato sul web che intercetta il traffico HTTP dai dispositivi non autenticati) reindirizza gli ospiti a una pagina di login ospitata su un server del portale, on-premise o nel cloud. L'aggiunta di WeChat OAuth inserisce l'infrastruttura di identità di Tencent in quel flusso.
La sequenza si svolge come segue. L'ospite si associa all'SSID. Il controller wireless rileva l'assenza di una sessione autenticata e reindirizza tutto il traffico HTTP all'URL del Captive Portal. La pagina del portale si carica e presenta le opzioni di login, incluso WeChat. L'ospite seleziona WeChat. Il server del portale crea un reindirizzamento all'endpoint di autorizzazione di WeChat all'indirizzo open.weixin.qq.com, passando quattro parametri: l'AppID, l'URI di reindirizzamento, il tipo di risposta impostato su code e l'ambito (scope) richiesto.
WeChat autentica l'utente interamente sulla propria infrastruttura. Se l'ospite ha già effettuato l'accesso tramite il browser in-app di WeChat, lo scope snsapi_base consente un'autenticazione silenziosa senza alcuna richiesta visibile. WeChat reindirizza nuovamente all'URI di reindirizzamento registrato del portale con un codice di autorizzazione a breve scadenza. Il server del portale scambia questo codice con un token di accesso chiamando api.weixin.qq.com/sns/oauth2/access_token con AppID, AppSecret, codice e tipo di concessione (grant type). WeChat restituisce un token di accesso, un token di aggiornamento (refresh token), l'OpenID dell'utente e lo scope concesso. Se è stato richiesto snsapi_userinfo, una seconda chiamata API a api.weixin.qq.com/sns/userinfo recupera il nickname dell'utente, l'immagine del profilo, il genere e la città.

Registrazione sulla piattaforma: la decisione che fa fallire la maggior parte dei deployment
Tencent gestisce due piattaforme di sviluppo distinte, e la scelta di quella errata è la causa più comune di implementazioni fallite.
| Contesto di accesso | Registrazione richiesta | URL della piattaforma | Scope supportati |
|---|---|---|---|
| Browser in-app di WeChat | Account di Servizio (Official Accounts Platform) | mp.weixin.qq.com | snsapi_base, snsapi_userinfo |
| Browser mobile standard (Chrome, Safari) | Applicazione Web (Open Platform) | open.weixin.qq.com | snsapi_login (flusso con codice QR) |
Un Account di Sottoscrizione (Subscription Account) sulla Official Accounts Platform non funzionerà. Non dispone dei permessi di autorizzazione per le pagine web tramite OAuth. Solo un Account di Servizio (Service Account) possiede tali permessi.
La maggior parte dei deployment aziendali nei settori Hospitality e Retail implementa entrambe le registrazioni. Un ospite in un hotel potrebbe aprire il Captive Portal in Chrome, scansionare un codice QR con WeChat e autenticarsi tramite il flusso Open Platform. Oppure potrebbe seguire un link all'interno di WeChat stesso, atterrare nel browser in-app e autenticarsi silenziosamente tramite il flusso Official Accounts. Entrambi i percorsi devono essere gestiti.
Selezione dello scope e raccolta dati
Lo scope OAuth è una vera e propria decisione architetturale, non un semplice dettaglio di configurazione. Determina l'attrito che l'utente sperimenta e i dati che la tua piattaforma di WiFi Analytics riceve.
snsapi_base restituisce solo l'OpenID: un identificatore univoco e stabile per quell'utente all'interno del tuo Account Ufficiale. Non richiede alcuna richiesta di consenso all'utente. L'autenticazione è invisibile. Utilizzalo per gli ospiti che ritornano e di cui possiedi già i profili, o per ambienti ad alto rendimento come stadi e hub di trasporto dove la velocità di connessione è la priorità.
snsapi_userinfo restituisce l'OpenID oltre a nickname, immagine del profilo, genere, impostazioni della lingua e città. Questa modalità attiva una schermata di consenso esplicito. Utilizzala per la registrazione iniziale dell'ospite per creare un profilo di dati proprietari (first-party data), abbinato a un livello di consenso conforme a PIPL e GDPR sulla pagina del portale.
La regola pratica: usa snsapi_base per la velocità, snsapi_userinfo per i dati. Puoi implementarli entrambi verificando se l'OpenID dell'utente esiste già nel tuo database. In caso affermativo, richiedi snsapi_base. In caso contrario, richiedi snsapi_userinfo.
Applicazione di rete: RADIUS CoA e MAC bypass
Un token OAuth prova l'identità, ma non apre la rete. È necessario un meccanismo separato che traduca l'avvenuta autenticazione in un cambio di policy di rete.
Il RADIUS Change of Authorisation (CoA), definito nella RFC 3576, è l'approccio standard. Dopo che il server del portale riceve un token OAuth valido, invia una richiesta CoA al controller wireless. Il controller aggiorna la sessione, spostando il dispositivo dalla VLAN del walled garden (un segmento di rete limitato che consente solo il traffico del portale) alla VLAN completa per gli ospiti. Questo sistema funziona con Cisco Meraki, HPE Aruba, Ruckus, Juniper Mist, Ubiquiti UniFi, Cambium, Extreme e Fortinet.
Il MAC address bypass registra l'indirizzo MAC del dispositivo come client autorizzato dopo il successo di OAuth. Il controller consente quindi il traffico da quell'indirizzo senza ulteriori verifiche. È più semplice da implementare ma comporta due rischi: gli indirizzi MAC possono essere falsificati e, a partire da iOS 14 e Android 10, viene utilizzata di default la randomizzazione dell'indirizzo MAC, il che interrompe il meccanismo alla successiva riconnessione.
Per qualsiasi implementazione in cui la sicurezza è fondamentale, RADIUS CoA è la scelta corretta. Per ulteriori informazioni sulla protezione delle reti ospiti, consulta What Is Secure WiFi: Essential Guide for Business 2026 e Enterprise WiFi Security: A Complete Guide for 2026 .
Guida all'implementazione
Checklist pre-configurazione
Prima di scrivere una sola riga di configurazione, completa questi cinque passaggi.
In primo luogo, determina il contesto di accesso. Esamina la tua sede e identifica se gli ospiti visualizzeranno il Captive Portal all'interno del browser in-app di WeChat, in un normale browser mobile o in entrambi. La risposta determina i requisiti di registrazione sulla piattaforma.
In secondo luogo, effettua la registrazione sulla piattaforma corretta. Per l'accesso tramite browser in-app, crea un Service Account sulla WeChat Official Accounts Platform. Per l'accesso tramite browser standard, registra una Website Application sulla WeChat Open Platform. Prendi nota dei tuoi AppID e AppSecret per ciascuna.
In terzo luogo, configura i tuoi URI di reindirizzamento. Registra ogni dominio e sottodominio utilizzato dal tuo portale, inclusi gli ambienti di staging. WeChat impone una convalida a corrispondenza esatta. In caso di mancata corrispondenza, viene restituito l'errore 40029.
In quarto luogo, implementa lo scambio di token lato server. L'AppSecret non deve mai apparire nel codice lato client. Crea un endpoint lato server che accetti il codice di autorizzazione, lo scambi con un token e restituisca solo i dati necessari al tuo portale.
In quinto luogo, implementare il parametro state per la protezione CSRF. Generare un valore crittograficamente casuale, memorizzarlo nella sessione dell'utente, passarlo nella richiesta OAuth e convalidarlo al ritorno.
Passaggi di configurazione per Ruckus SmartZone
Per le sedi che eseguono Ruckus SmartZone, la configurazione del portale WeChat si trova sotto Services and Profiles, poi Hotspots and Portals, e infine nella scheda WeChat. Configurare l'URL di autenticazione (l'endpoint di callback WeChat del server del portale), la destinazione DNAT (il server che gestisce i reindirizzamenti dei client non autenticati) e il periodo di tolleranza (la finestra temporale entro la quale un utente disconnesso di recente può riconnettersi senza doversi autenticare nuovamente, impostata per impostazione predefinita a 60 minuti). Configurare anche la whitelist del walled garden per consentire il traffico verso gli endpoint API di WeChat durante la fase di autenticazione. Vedere anche la Guida dettagliata: Configurazione dei controller wireless Ruijie per i Captive Portal WiFi degli ospiti per modelli di configurazione dei controller simili.
Rilevamento del browser in-app
Il browser in-app di WeChat imposta una stringa user agent contenente MicroMessenger. Il portale deve rilevare questa stringa e servire il flusso OAuth appropriato. Se MicroMessenger è presente, utilizzare il flusso degli account ufficiali. Se assente, utilizzare il flusso con codice QR di Open Platform. La mancata rilevazione corretta produce un'esperienza utente interrotta o errori di autenticazione.
Best practice
Minimizzazione dei dati e conformità al doppio framework
Il GDPR (applicabile ai visitatori europei) e la PIPL (applicabile ai cittadini cinesi) richiedono entrambi una base giuridica per il trattamento dei dati personali, una chiara limitazione delle finalità e la minimizzazione dei dati. L'ambito snsapi_base è più facile da giustificare in base ai principi di minimizzazione dei dati rispetto a snsapi_userinfo. Quando si raccolgono dati demografici tramite snsapi_userinfo, documentare la base giuridica, il periodo di conservazione e l'accordo sul trattamento dei dati con Tencent.
La PIPL, in vigore da novembre 2021, richiede il consenso esplicito per le informazioni personali sensibili e impone ai responsabili del trattamento al di fuori della Cina di implementare standard di protezione equivalenti. Se il server del portale si trova al di fuori della Cina continentale, è necessario valutare se le regole sul trasferimento transfrontaliero dei dati si applicano ai dati OpenID e di profilo di WeChat ricevuti.
UnionID per implementazioni multi-struttura
L'OpenID è univoco per utente e per account ufficiale. Se si gestiscono più account ufficiali in diverse strutture, lo stesso ospite avrà OpenID diversi in ciascuno di essi. WeChat fornisce un UnionID che rimane coerente per tutti gli account collegati alla stessa registrazione Open Platform. Per catene alberghiere, gruppi di vendita al dettaglio o operatori aeroportuali che gestiscono più sedi, implementare fin dall'inizio la risoluzione dell'identità basata su UnionID.
Rafforzamento della sicurezza
Conserva l'AppSecret in una variabile di ambiente o in un gestore di segreti, mai nel codice sorgente. Ruotalo immediatamente se sospetti un'esposizione. Implementa il rate limiting sul tuo endpoint di scambio token per prevenire abusi. Registra tutti gli errori OAuth, in particolare 40029 (codice non valido) e 40163 (codice scaduto), in quanto indicano una configurazione errata o un tentativo di probing attivo.
Per una visione più ampia dell'architettura di sicurezza delle reti guest, consulta il post Why Consumer WiFi Gear Doesn't Belong on Your Guest Network .
Case studies
Catena di hotel di lusso, Singapore
Un hotel di lusso da 350 camere a Singapore, con un target prevalentemente composto da viaggiatori d'affari cinesi, ha implementato l'autenticazione WeChat WiFi insieme alla preesistente opzione di accesso tramite e-mail. Prima dell'implementazione, il personale della reception segnalava una media di 15 reclami al giorno da parte degli ospiti per difficoltà di accesso al WiFi. Gli ospiti cinesi tentavano di utilizzare indirizzi e-mail che non avevano configurato sui propri dispositivi di viaggio.
L'hotel ha registrato un Service Account sulla WeChat Official Accounts Platform e una Website Application sulla Open Platform. Hanno configurato snsapi_userinfo per le prime connessioni e snsapi_base per gli ospiti di ritorno identificati tramite indirizzo MAC. Il controller HPE Aruba è stato configurato per RADIUS CoA per gestire la promozione della sessione.
Entro 30 giorni, i reclami relativi all'accesso WiFi degli ospiti sono scesi a meno di due al giorno. Il database di WiFi Analytics dell'hotel è cresciuto di 4.200 profili di prima parte verificati nel primo mese, con dati demografici a livello di città che hanno consentito comunicazioni mirate post-soggiorno.
Centro commerciale internazionale, Kuala Lumpur
Un centro commerciale di fascia premium a Kuala Lumpur, con 12 milioni di utenti WeChat nella sola Malesia, necessitava di un'esperienza di onboarding WiFi che rispondesse alle aspettative digitali della propria clientela. Il centro commerciale gestiva access point Cisco Meraki su una superficie di vendita di 180.000 metri quadrati.
La distribuzione ha utilizzato la piattaforma Guest WiFi di Purple come overlay cloud, con WeChat OAuth come metodo di autenticazione principale e SMS OTP come fallback. L'architettura indipendente dall'hardware di Purple ha gestito l'integrazione RADIUS CoA con Cisco Meraki senza richiedere sviluppo personalizzato.
Il centro commerciale ha registrato un aumento del 34% degli avvii di sessione WiFi nel primo trimestre post-implementazione, attribuito alla riduzione degli ostacoli di onboarding per gli utenti WeChat. I dati di prima parte raccolti tramite i flussi di consenso snsapi_userinfo hanno consentito al team di marketing del centro commerciale di segmentare gli acquirenti in base alla città di provenienza per l'invio di campagne mirate.

Risoluzione dei problemi e mitigazione dei rischi
| Errore | Causa | Risoluzione |
|---|---|---|
| 40029 codice non valido | Mancata corrispondenza del Redirect URI o riutilizzo del codice | Verifica che gli URI registrati corrispondano esattamente; i codici sono monouso |
| Schermata vuota dopo l'autenticazione | RADIUS CoA non configurato o non funzionante | Verificare le impostazioni CoA del controller e le regole del firewall sulla porta UDP 3799 |
| La randomizzazione del MAC interrompe il flusso degli ospiti di ritorno | Randomizzazione MAC di iOS/Android | Migrare al tracciamento delle sessioni basato su OpenID; evitare l'identificazione basata solo sul MAC |
| snsapi_userinfo restituisce campi vuoti | L'utente ha impostato restrizioni sulla privacy di WeChat | Gestire i campi null in modo corretto; non richiedere i dati del profilo per l'accesso |
ROI e impatto aziendale
Il business case per l'autenticazione WeChat WiFi si basa su tre risultati misurabili.
Acquisizione di dati di prima parte. Ogni autenticazione snsapi_userinfo genera un profilo ospite verificato con dati demografici. Per un hotel da 200 camere con un'occupazione del 70% e il 40% di ospiti cinesi, ciò rappresenta circa 20.000 nuovi profili verificati all'anno, ciascuno collegato a un'identità WeChat che supporta il re-engagement continuo.
Riduzione del carico di supporto. L'attrito al login è la causa principale delle chiamate di supporto per il WiFi degli ospiti. Le strutture che aggiungono l'autenticazione WeChat alle opzioni esistenti registrano costantemente una riduzione delle richieste alla reception relative al WiFi, liberando tempo del personale per interazioni a maggior valore.
Portata di marketing. Gli account ufficiali WeChat consentono alle strutture di inviare notifiche push ai follower. Un ospite che si autentica tramite il vostro account ufficiale può essere invitato a seguirlo, creando un canale di comunicazione diretto all'interno dell'ecosistema di WeChat, dove i consumatori cinesi trascorrono in media 82 minuti al giorno (fonte: Walk the Chat).
Il piano Engage di Purple estende ulteriormente questo aspetto, abilitando messaggi post-visita automatizzati, trigger di fidelizzazione e campagne segmentate create sui dati di prima parte raccolti al momento dell'autenticazione WiFi.
Definizioni chiave
Captive Portal
Un gateway di autenticazione web che intercetta il traffico HTTP da un dispositivo non autenticato e lo reindirizza a una pagina di login prima di concedere l'accesso alla rete.
Il meccanismo attraverso il quale l'autenticazione WiFi degli ospiti viene presentata agli utenti. WeChat OAuth è uno dei diversi metodi di autenticazione che un Captive Portal può offrire.
OAuth 2.0
Un protocollo di autorizzazione standard del settore che consente a un'applicazione di terze parti (il Captive Portal) di ottenere un accesso limitato a un servizio web (WeChat) per conto di un utente, senza che quest'ultimo debba condividere la propria password con la terza parte.
Il framework sottostante che rende possibile il login con WeChat. Il portale non vede mai le credenziali WeChat dell'utente; riceve solo un token che conferma che WeChat lo ha autenticato.
RADIUS CoA
Change of Authorisation. Un meccanismo definito in RFC 3576 che consente a un server RADIUS di modificare dinamicamente gli attributi di autorizzazione della sessione di un client di rete attivo, come la modifica dell'assegnazione VLAN.
Il meccanismo di enforcement di rete che traduce una corretta transazione WeChat OAuth in un effettivo accesso alla rete. Senza CoA, l'ospite si autentica ma il controller non sa di dover aprire la rete.
OpenID
Un identificatore univoco assegnato da WeChat a uno specifico utente per uno specifico Account Ufficiale o Applicazione Web. È stabile tra le sessioni ma differisce da un account all'altro.
La chiave primaria utilizzata per identificare un ospite nel database di analytics WiFi. Utilizza UnionID se gestisci più Account Ufficiali e hai bisogno di una risoluzione dell'identità cross-account.
snsapi_base
Uno scope OAuth di WeChat che consente l'autenticazione silenziosa, restituendo solo l'OpenID dell'utente senza mostrare una richiesta di consenso.
Da utilizzare per gli ospiti che ritornano o in ambienti ad alta densità in cui la velocità di connessione è la priorità. Non restituisce dati demografici oltre all'OpenID.
snsapi_userinfo
Uno scope OAuth di WeChat che restituisce l'OpenID dell'utente, il nickname, l'immagine del profilo, il genere, la lingua e la città, richiedendo una schermata di consenso esplicito dell'utente.
Da utilizzare per la registrazione dei nuovi ospiti per creare un profilo di dati proprietari. Deve essere associato a un livello di consenso conforme a GDPR e PIPL.
PIPL
Personal Information Protection Law. La legislazione globale sulla privacy dei dati in Cina, in vigore da novembre 2021, che disciplina le modalità di raccolta, trattamento e trasferimento dei dati personali dei cittadini cinesi.
Si applica a qualsiasi sede che raccolga dati da cittadini cinesi tramite WeChat OAuth, indipendentemente dal luogo in cui si trova la sede. Richiede consenso esplicito, limitazione delle finalità e minimizzazione dei dati.
AppSecret
Una chiave crittografica riservata emessa da WeChat che autentica la tua applicazione quando chiama l'API di scambio token di WeChat.
Deve essere memorizzato solo sul lato server. L'esposizione nel codice lato client consente a chiunque di impersonare l'applicazione ed effettuare chiamate API non autorizzate a WeChat.
VLAN
Virtual Local Area Network. Un segmento di rete logico che isola il traffico a livello di collegamento dati, consentendo a una singola rete fisica di trasportare più flussi di traffico isolati.
Utilizzato nelle distribuzioni di Captive Portal per separare i dispositivi non autenticati (walled garden VLAN) dagli ospiti autenticati (guest VLAN). RADIUS CoA sposta un dispositivo tra le VLAN a seguito di un'autenticazione riuscita.
UnionID
Un identificatore WeChat che rimane coerente per un determinato utente in tutti gli Account Ufficiali e le Applicazioni Web collegati alla stessa registrazione Open Platform.
Essenziale per catene alberghiere, gruppi retail e operatori multi-sede che devono riconoscere lo stesso ospite in diverse proprietà, ciascuna con il proprio Account Ufficiale.
Esempi pratici
Un hotel di lusso da 200 camere a Singapore utilizza controller HPE Aruba e serve un elevato volume di viaggiatori d'affari cinesi. Desidera raccogliere dati demografici dai visitatori al primo accesso e garantire che gli ospiti che ritornano si connettano automaticamente senza visualizzare nuovamente il portale. Come deve configurare l'integrazione di WeChat OAuth?
Passo 1: Registrare un Service Account sulla WeChat Official Accounts Platform (mp.weixin.qq.com) per gestire gli ospiti che accedono al portale all'interno del browser in-app di WeChat. Registrare una Website Application sulla WeChat Open Platform (open.weixin.qq.com) per gli ospiti che utilizzano browser mobili standard.
Passo 2: Configurare il Captive Portal per rilevare la stringa user agent MicroMessenger. Fornire il flusso OAuth di Official Accounts per gli utenti del browser in-app e il flusso di codici QR di Open Platform per gli utenti di browser standard.
Passo 3: Per le connessioni al primo accesso (nessun OpenID esistente nel database), richiedere lo scope snsapi_userinfo. Presentare una schermata di consenso conforme al PIPL prima del reindirizzamento OAuth. Memorizzare l'OpenID restituito, il nickname, la città e il genere nel database dei profili degli ospiti.
Passo 4: Per gli ospiti che ritornano (l'OpenID esiste già nel database), richiedere lo scope snsapi_base. Questo autentica l'utente in modo silenzioso senza alcun prompt visibile.
Passo 5: Configurare il controller HPE Aruba per RADIUS CoA sulla porta UDP 3799. Dopo il successo dell'autenticazione OAuth, il server del portale invia una richiesta CoA per promuovere il dispositivo dalla VLAN walled garden alla VLAN ospiti.
Passo 6: Implementare la registrazione dell'indirizzo MAC insieme all'OpenID per gestire il rilevamento degli ospiti che ritornano. Si noti che la randomizzazione del MAC richiede l'uso di OpenID come identificatore primario, non il solo indirizzo MAC.
Il team IT di una catena di negozi segnala un alto tasso di fallimento per i login WiFi di WeChat in tre centri commerciali. Gli utenti si autenticano in WeChat ma vengono reindirizzati alla pagina del portale con un errore. I log del portale mostrano l'errore 40029. Qual è la causa probabile e come si risolve?
L'errore 40029 significa che WeChat ha rifiutato il codice di autorizzazione durante lo scambio dei token. Le due cause più comuni sono una discrepanza del redirect URI e il riutilizzo del codice.
Passo 1: Accedere alla console sviluppatori di WeChat sia per la Official Accounts Platform che per la Open Platform. Navigare nelle impostazioni OAuth ed elencare tutti i redirect URI registrati.
Passo 2: Confrontarli con i redirect URI effettivi utilizzati dal server del portale in produzione in tutte e tre le sedi. Verificare la presenza di differenze nei sottodomini (portal.brand.com rispetto a brand.com), differenze di protocollo (HTTP rispetto a HTTPS) e differenze di percorso (/callback rispetto a /wechat/callback).
Passo 3: Registrare ogni variante nella console di WeChat. WeChat esegue una convalida a corrispondenza esatta, non a prefisso.
Passo 4: Se gli URI corrispondono, verificare se il server del portale sta tentando di riutilizzare i codici di autorizzazione. I codici WeChat sono monouso e scadono dopo cinque minuti. Se il server tenta nuovamente lo scambio di token con lo stesso codice, riceverà l'errore 40029 al secondo tentativo.
Passo 5: Implementare l'idempotenza nell'endpoint di scambio dei token per prevenire richieste duplicate.
Domande di esercitazione
Q1. Stai implementando un Captive Portal per uno stadio da 60.000 posti che ospita eventi internazionali con una significativa base di fan cinesi. La priorità è connettere online tutti i partecipanti entro i primi 15 minuti dall'apertura dei cancelli per ridurre la congestione cellulare. La raccolta di dati di marketing è un obiettivo secondario. Quale scope OAuth di WeChat dovresti configurare e perché?
Suggerimento: Considera l'impatto di una schermata di consenso mostrata a 15.000 utenti simultanei su un server del portale.
Visualizza risposta modello
Configura lo scope snsapi_base. Questo consente l'autenticazione silenziosa senza alcuna richiesta di consenso all'utente, offrendo l'esperienza di onboarding più rapida possibile. Su scala da stadio, una schermata di consenso aggiunge attrito che si moltiplica su migliaia di connessioni simultanee e può causare picchi di carico sul server del portale. snsapi_base restituisce solo l'OpenID, che è sufficiente per registrare la sessione e identificare i fan che ritornano. Per i fan che accedono per la prima volta e di cui si desiderano i dati demografici, è possibile richiedere il completamento del profilo tramite un sondaggio post-connessione anziché al gate di autenticazione.
Q2. Un network architect del tuo team propone di memorizzare l'AppSecret di WeChat nel JavaScript lato client del Captive Portal per ridurre i round-trip del server effettuando la chiamata di scambio del token direttamente dal browser. Spiega perché questo approccio rappresenta una falla di sicurezza critica e qual è l'architettura corretta.
Suggerimento: Considera chi può visualizzare il codice lato client e cosa consente di fare l'AppSecret.
Visualizza risposta modello
La memorizzazione dell'AppSecret nel JavaScript lato client lo espone a chiunque visualizzi il codice sorgente della pagina o intercetti il traffico di rete. L'AppSecret autentica la tua applicazione verso l'API di WeChat. Con esso, un malintenzionato può impersonare la tua applicazione, chiamare l'endpoint di scambio token di WeChat con qualsiasi codice di autorizzazione valido, recuperare gli OpenID e i dati del profilo degli utenti e potenzialmente esaurire i limiti di velocità della tua API. L'architettura corretta prevede un endpoint di scambio token lato server. Il browser riceve il codice di autorizzazione da WeChat e lo passa al tuo server. Il tuo server, utilizzando l'AppSecret memorizzato in una variabile d'ambiente o in un gestore di segreti, scambia il codice con un token e restituisce solo i dati di cui il portale ha bisogno. L'AppSecret non lascia mai il tuo server.
Q3. La tua struttura gestisce tre hotel in città diverse, ognuno con il proprio account ufficiale WeChat. Un membro del programma fedeltà che si è autenticato in tutte e tre le strutture ha tre diversi OpenID nel tuo database. Come risolvi questo problema in un'unica identità ospite?
Suggerimento: WeChat fornisce un meccanismo per la risoluzione dell'identità cross-account che richiede una configurazione specifica della piattaforma.
Visualizza risposta modello
Implementa il meccanismo UnionID di WeChat. Collega tutti e tre gli account ufficiali alla stessa registrazione Open Platform su open.weixin.qq.com. Una volta collegati, WeChat restituisce un UnionID insieme all'OpenID nella risposta snsapi_userinfo. L'UnionID è coerente per un determinato utente in tutti gli account collegati alla stessa registrazione Open Platform. Migra il tuo database per utilizzare l'UnionID come identificatore principale dell'ospite per i record cross-property, conservando l'OpenID specifico per account per le chiamate API specifiche dell'account. Per gli ospiti che si sono autenticati prima dell'implementazione dell'UnionID, attiva una nuova autenticazione con snsapi_userinfo alla loro prossima visita per acquisire l'UnionID.
Q4. Dopo aver implementato l'autenticazione WeChat WiFi in uno spazio commerciale con access point Cisco Meraki, gli ospiti segnalano di aver completato con successo il login di WeChat ma di essere reindirizzati alla pagina del portale senza poter navigare in internet. I log del server del portale mostrano un recupero del token andato a buon fine. Qual è la causa più probabile e come si diagnostica?
Suggerimento: Il portale ha verificato l'identità. Cosa non è ancora successo?
Visualizza risposta modello
Il RADIUS Change of Authorisation (CoA) non si sta completando. Il server del portale ha verificato l'identità dell'ospite tramite l'OAuth di WeChat ma non ha istruito con successo il controller Cisco Meraki a spostare il dispositivo dalla VLAN del walled garden alla VLAN ospiti. Diagnostica controllando: (1) se il controller Meraki ha il RADIUS CoA abilitato e se l'IP del server del portale è elencato come client CoA autorizzato; (2) se la porta UDP 3799 è aperta tra il server del portale e il controller; (3) i log del server del portale per errori o timeout della richiesta CoA; e (4) se il segreto condiviso configurato su entrambi i lati corrisponde. Se il CoA non è supportato nel tuo livello di licenza Meraki, il bypass del MAC address è la soluzione alternativa, sebbene comporti il rischio di randomizzazione del MAC indicato nella guida.
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.