Vai al contenuto principale

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.

📖 4 minuti di lettura📝 815 parole🔧 2 esempi pratici3 domande di esercitazione📚 8 definizioni chiave

Ascolta questa guida

Visualizza trascrizione del podcast
COME CONFIGURARE L'AUTENTICAZIONE WECHAT OAUTH PER I CAPTIVE PORTAL Un briefing tecnico Purple - Circa 10 minuti --- INTRODUZIONE E CONTESTO (circa 1 minuto) Benvenuto. Se sei responsabile del WiFi per gli ospiti in un hotel, una catena di negozi, uno stadio o un centro congressi che accoglie visitatori cinesi, questo briefing fa al caso tuo. WeChat conta 1,38 miliardi di utenti attivi mensili, secondo i dati di Tencent del 2024. La stragrande maggioranza si trova in Cina, ma la piattaforma ha anche un'importante presenza internazionale - quattro milioni di utenti negli Stati Uniti, 12 milioni in Malesia e numeri in crescita in tutto il sud-est asiatico, in Europa e in Medio Oriente. Quando un ospite cinese si connette al tuo WiFi e visualizza una pagina di login che richiede solo un'e-mail, Facebook o un codice voucher, incontra un ostacolo immediato. Potrebbe non avere un indirizzo e-mail locale configurato su quel dispositivo. Sicuramente possiede WeChat. Quindi la domanda non è se offrire il login con WeChat - ma come configurarlo in modo corretto, sicuro e in grado di generare dati di prima parte che sia possibile utilizzare concretamente. Questo è ciò che tratteremo oggi. Esamineremo il flusso OAuth 2.0, le due registrazioni alla piattaforma necessarie, la scelta dell'ambito (scope) che determina quali dati raccogliere, il meccanismo di applicazione lato rete e le considerazioni sulla conformità rilevanti nel 2026. --- APPROFONDIMENTO TECNICO (circa 5 minuti) Iniziamo con l'architettura. Un Captive Portal intercetta il traffico HTTP da un dispositivo non autenticato e lo reindirizza a una pagina di login. Tale pagina di login è ospitata su un server del portale - in locale o nel cloud. Quando aggiungi WeChat OAuth, stai inserendo un provider di identità di terze parti in quel flusso. Ecco la sequenza. L'ospite si connette al tuo SSID. L'access point o il controller wireless rileva che il dispositivo non ha una sessione autenticata e reindirizza tutto il traffico HTTP all'URL del tuo Captive Portal. La pagina del portale si carica e presenta le opzioni di login - incluso WeChat. L'ospite seleziona il login WeChat. Il server del tuo portale reindirizza il browser all'endpoint di autorizzazione di WeChat all'indirizzo open.weixin.qq.com, passando il tuo AppID, l'URI di reindirizzamento, il tipo di risposta 'code' e lo scope. WeChat gestisce l'autenticazione interamente sui propri server. Se l'ospite ha già effettuato l'accesso a WeChat nel proprio browser, visualizza una schermata di consenso. Se utilizza il browser in-app di WeChat, l'esperienza può essere silenziosa con lo scope snsapi_base - senza alcuna richiesta di consenso. WeChat reindirizza quindi all'URI di reindirizzamento del tuo portale con un codice di autorizzazione temporaneo. Il server del tuo portale scambia quel codice con un token di accesso chiamando api.weixin.qq.com/sns/oauth2/access_token, passando il tuo AppID, AppSecret, il codice e il tipo di concessione authorization_code. WeChat restituisce un token di accesso, un token di aggiornamento, l'OpenID dell'utente e lo scope concesso. Se hai richiesto lo scope snsapi_userinfo, puoi effettuare una seconda chiamata API per recuperare il nickname, l'avatar, il sesso e la città dell'utente.Ora, parliamo delle due registrazioni sulla piattaforma. Questo è il punto in cui la maggior parte delle implementazioni fallisce. WeChat dispone di due piattaforme di sviluppo distinte. La WeChat Open Platform su open.weixin.qq.com gestisce le applicazioni web e le app mobili. La WeChat Official Accounts Platform su mp.weixin.qq.com gestisce gli account pubblici, ovvero ciò di cui la maggior parte delle strutture ha effettivamente bisogno. Per un Captive Portal che serve gli ospiti all'interno del browser in-app di WeChat, è necessario un Service Account sulla Official Accounts Platform. Un Subscription Account non funzionerà, poiché non dispone dei permessi di autorizzazione per le pagine web OAuth. Un Service Account li possiede e supporta sia gli scope snsapi_base che snsapi_userinfo. Per un Captive Portal a cui si accede da un normale browser mobile al di fuori di WeChat - Chrome su Android, Safari su iOS - è necessaria un'applicazione web registrata sulla Open Platform. Questa utilizza lo scope snsapi_login e presenta un codice QR che l'utente scansiona con la propria app WeChat. In pratica, la maggior parte delle installazioni nelle strutture utilizza entrambi. Un ospite sulla rete WiFi di un hotel potrebbe aprire il portale in Chrome, vedere un codice QR, scansionarlo con WeChat ed autenticarsi. Oppure potrebbe seguire un link all'interno di WeChat stesso, atterrare nel browser in-app ed autenticarsi in modo silenzioso con snsapi_base. Parliamo della selezione dello scope, perché si tratta di un vero e proprio punto decisionale. snsapi_base restituisce solo l'OpenID - un identificatore univoco per quell'utente all'interno del tuo Official Account. Non richiede alcuna richiesta di consenso all'utente. L'autenticazione è invisibile per l'utente. Questo è l'ideale per gli ospiti che ritornano e che hai già profilato, o per le strutture in cui desideri zero attrito al costo di zero nuovi dati. snsapi_userinfo restituisce l'OpenID più il nickname di WeChat dell'utente, l'immagine del profilo, il genere, la lingua impostata e la città. Richiede una schermata di consenso esplicito. L'utente visualizza una richiesta in cui si domanda se consente al tuo Official Account di accedere alle proprie informazioni. La maggior parte degli utenti accetta, ma c'è un elemento di attrito. La scelta corretta dipende dal tuo caso d'uso. Per la registrazione di un ospite che accede per la prima volta, dove desideri creare un profilo, utilizza snsapi_userinfo e associalo a un livello di consenso conforme al GDPR sulla pagina del tuo portale. Per un ospite che ritorna, che ha già fornito il consenso e di cui possiedi già il profilo, utilizza snsapi_base per una ri-autenticazione silenziosa. Ora, passiamo al lato dell'applicazione di rete. L'ottenimento di un token OAuth attesta l'identità, ma non apre automaticamente la rete. È necessario un meccanismo per tradurre un'autenticazione riuscita in accesso alla rete. I due approcci standard sono RADIUS Change of Authorisation, definito in RFC 3576, e il MAC address bypass. Con RADIUS CoA, il server del portale invia una richiesta CoA al controller di rete dopo che l'OAuth è andato a buon fine, e il controller sposta il dispositivo dalla VLAN non autenticata alla VLAN ospiti. Questo funziona con Cisco Meraki, HPE Aruba, Ruckus, Juniper Mist e la maggior parte dei controller di livello enterprise. Con il MAC bypass, il server del portale registra l'indirizzo MAC del dispositivo come client autorizzato e il controller lo consente. Il MAC bypass è più semplice da implementare ma meno sicuro, perché gli indirizzi MAC possono essere falsificati. La piattaforma Guest WiFi di Purple gestisce entrambi i meccanismi. Al completamento dell'OAuth di WeChat, l'overlay cloud di Purple invia il segnale appropriato all'hardware sottostante - che si tratti di Cisco Meraki, HPE Aruba, Ruckus, Juniper Mist, Ubiquiti UniFi, Cambium, Extreme Networks o Fortinet. L'operatore della sede non deve gestire questa traduzione manualmente. - RACCOMANDAZIONI DI IMPLEMENTAZIONE ED ERRORI DA EVITARE (circa 2 minuti) Ecco i cinque motivi per cui le implementazioni del captive portal con OAuth di WeChat falliscono. Primo: la mancata corrispondenza dell'URI di reindirizzamento. WeChat convalida l'URI di reindirizzamento rispetto al dominio autorizzato registrato sulla piattaforma. Se il server del portale utilizza un sottodominio diverso, un percorso diverso o HTTP invece di HTTPS, il flusso OAuth fallisce con l'errore 40029 - codice non valido. Registra ogni variante di dominio utilizzata, inclusi gli ambienti di staging. Secondo: l'AppSecret lato client. Il tuo AppSecret non deve mai apparire nel JavaScript lato client o nel file binario di un'app mobile. Deve risiedere sul tuo server. Se viene esposto, chiunque può impersonare la tua applicazione e chiamare le API di WeChat a tuo nome. Terzo: mancanza di protezione CSRF. Il parametro di stato nella richiesta OAuth esiste specificamente per prevenire la cross-site request forgery. Genera un valore di stato crittograficamente casuale, memorizzalo nella sessione dell'utente e convalidalo quando WeChat reindirizza all'indietro. Ignorare questo passaggio significa esporre il sistema a una reale vulnerabilità. Quarto: il divario di rilevamento del browser in-app. Il browser in-app di WeChat imposta una stringa user agent specifica contenente "MicroMessenger". Se il tuo portale non rileva questo elemento e non fornisce il flusso OAuth corretto - flusso Official Account per il browser in-app, flusso QR di Open Platform per i browser standard - gli utenti avranno un'esperienza interrotta o un errore. Quinto: allineamento con GDPR e PIPL. Se offri il servizio a visitatori europei, il GDPR si applica ai dati raccolti tramite l'OAuth di WeChat. Se offri il servizio a visitatori cinesi, la legge cinese sulla protezione delle informazioni personali - PIPL - si applica al modo in cui elabori i loro dati. Entrambi richiedono una base giuridica per il trattamento, una chiara limitazione delle finalità e la minimizzazione dei dati. snsapi_base è più facile da giustificare in base ai principi di minimizzazione dei dati rispetto a snsapi_userinfo. Qualsiasi dato tu raccolga, documenta la tua base giuridica e il periodo di conservazione. - DOMANDE E RISPOSTE RAPIDE (circa 1 minuto) Domanda: Posso utilizzare il login WeChat su un portale che offre anche l'accesso tramite e-mail e SMS? Sì. La maggior parte delle piattaforme di portali aziendali, inclusa Purple, supporta più metodi di autenticazione sulla stessa pagina del portale. WeChat appare come un'opzione insieme alle altre. Domanda: L'OAuth di WeChat funziona su iOS? Sì, ma con una sfumatura. Il framework App Tracking Transparency di Apple non influisce sui flussi OAuth lato server. Il login WeChat in Safari su iOS funziona tramite il flusso con codice QR o il flusso di reindirizzamento. L'app WeChat stessa gestisce l'autenticazione. Domanda: Cosa succede se l'API di WeChat non è disponibile? Il tuo portale dovrebbe implementare un fallback. Se la chiamata all'API di WeChat va in timeout o restituisce un errore, reindirizza l'utente a un metodo di login alternativo. Non lasciarli con una schermata vuota. Domanda: Posso utilizzare l'OpenID come identificativo persistente del cliente? All'interno del tuo Official Account, sì. L'OpenID è stabile per un determinato utente e un determinato Official Account. Se disponi di più Official Account, lo stesso utente avrà OpenID diversi tra di essi. Per la risoluzione dell'identità tra account diversi, WeChat fornisce un UnionID, che richiede che i tuoi account siano collegati sulla Open Platform. - RIASSUNTO E PROSSIMI PASSI (circa 1 minuto) Per riassumere. L'autenticazione OAuth di WeChat per i Captive Portal è un esercizio di registrazione su due piattaforme, una decisione sull'ambito, un'integrazione per l'applicazione delle regole di rete e una revisione della conformità. Se fai bene queste quattro cose, avrai un metodo di login che serve oltre un miliardo di potenziali visitatori con zero attriti legati alle password. I prossimi passi pratici sono questi. Per prima cosa, determina se i tuoi visitatori incontrano il portale all'interno del browser in-app di WeChat o in un browser mobile standard - questo determina quale registrazione di piattaforma ti serve. In secondo luogo, decidi l'ambito - snsapi_base per gli ospiti che ritornano, snsapi_userinfo per la registrazione iniziale con consenso. In terzo luogo, conferma che l'hardware di rete supporti RADIUS CoA o configura il bypass MAC come alternativa. In quarto luogo, verifica la tua informativa sulla privacy e il flusso di consenso rispetto ai requisiti GDPR e PIPL. In quinto luogo, testa l'URI di reindirizzamento, la validazione del parametro di stato e il rilevamento del browser in-app prima di andare online. Se vuoi vedere come Purple gestisce l'OAuth di WeChat come parte di una più ampia piattaforma di Guest WiFi e analytics - in 80.000 location e con 440 milioni di accessi nel 2024 - visita purple.ai o parla con il team del tuo account. Grazie per l'ascolto. - FINE DELLO SCRIPT

header_image.png

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.

architecture_overview.png

Ecco l'interazione esatta passo dopo passo:

  1. Il visitatore si connette all'SSID.
  2. 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.
  3. Il visitatore seleziona il Login con WeChat.
  4. Il server del portale reindirizza il browser all'endpoint di autorizzazione di WeChat (open.weixin.qq.com), passando i parametri AppID, redirect_uri, response_type=code e scope.
  5. 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.
  6. WeChat reindirizza all'indirizzo redirect_uri del portale con un codice di autorizzazione temporaneo.
  7. Il server del portale scambia questo codice con un token di accesso chiamando api.weixin.qq.com/sns/oauth2/access_token.
  8. WeChat restituisce i parametri access_token, refresh_token e l'identificativo openid dell'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.

scope_comparison_chart.png

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.

Commento dell'esaminatore: Questo approccio bilancia la raccolta dei dati con l'esperienza utente. Limitando il flusso `snsapi_userinfo` (che comporta un maggiore attrito) alla prima visita e utilizzando successivamente `snsapi_base`, il rivenditore massimizza la conversione pur rimanendo conforme ai principi di minimizzazione dei dati.

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.

Commento dell'esaminatore: Questo evidenzia la distinzione tra la verifica dell'identità e il controllo dell'accesso alla rete. Le reti aziendali richiedono un protocollo come RADIUS CoA per colmare il divario tra l'applicazione web (portale) e l'infrastruttura di rete.

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.