So konfigurieren Sie die WeChat-OAuth-Authentifizierung für Captive Portals
Dieser technische Leitfaden erklärt, wie Sie die WeChat-OAuth-Authentifizierung für Captive Portals konfigurieren. Er beschreibt detailliert die erforderlichen Plattformregistrierungen, den OAuth 2.0-Ablauf, die Scope-Auswahl und die Mechanismen zur Netzwerkdurchsetzung, die erforderlich sind, um First-Party-Daten von chinesischen Besuchern sicher zu erfassen.
Diesen Leitfaden anhören
Podcast-Transkript ansehen
- Executive Summary
- Technical Architecture
- Platform Registration Requirements
- WeChat Official Accounts-Plattform
- WeChat Open-Plattform
- Scope-Auswahl und Datenerfassung
- snsapi_base
- snsapi_userinfo
- Integration der Netzwerkdurchsetzung
- RADIUS Change of Authorisation (CoA)
- MAC-Adressen-Bypass
- Compliance- und Sicherheitsüberlegungen
- GDPR- und PIPL-Konformität
- CSRF-Schutz
- Redirect-URI-Validierung

Executive Summary
Wenn sich chinesische Besucher mit Ihrem WiFi verbinden, führt eine Anmeldeseite, die nur E-Mail oder Facebook anbietet, zu unmittelbaren Hürden. WeChat hat 1,38 Milliarden monatlich aktive Nutzer. Die Konfiguration als Identity Provider beseitigt diese Barriere. Dieser Leitfaden erklärt, wie Sie die WeChat-OAuth 2.0-Authentifizierung für Captive Portals implementieren, und beschreibt die erforderlichen Plattformregistrierungen, den OAuth-Ablauf sowie die Mechanismen zur Netzwerkdurchsetzung, die für die Umwandlung eines erfolgreichen Logins in einen Netzwerkzugriff erforderlich sind. Wir behandeln die technische Implementierung auf Enterprise-Hardware sowie die Compliance-Anforderungen unter GDPR und PIPL.
Technical Architecture
Ein Captive Portal fängt den HTTP-Traffic von einem nicht authentifizierten Gerät ab und leitet ihn auf eine Anmeldeseite weiter, die auf einem Portalserver gehostet wird. Wenn Sie WeChat-OAuth integrieren, binden Sie einen Drittanbieter-Identity-Provider in diesen Ablauf ein.

Der Ablauf gestaltet sich wie folgt:
- Der Besucher verbindet sich mit der SSID.
- Der Access Point oder Wireless Controller erkennt das Fehlen einer authentifizierten Sitzung und leitet den HTTP-Traffic an die Captive Portal-URL weiter.
- Der Besucher wählt den WeChat-Login.
- Der Portalserver leitet den Browser an den Autorisierungsendpunkt von WeChat (
open.weixin.qq.com) weiter und übergibt dabei dieAppID,redirect_uri,response_type=codeund denscope. - WeChat übernimmt die Authentifizierung. Wenn der Besucher den In-App-Browser von WeChat mit dem Scope
snsapi_baseverwendet, geschieht dies im Hintergrund (silent). - WeChat leitet mit einem temporären Autorisierungscode zurück zur
redirect_urides Portals. - Der Portalserver tauscht diesen Code durch den Aufruf von
api.weixin.qq.com/sns/oauth2/access_tokengegen ein Access Token aus. - WeChat gibt ein
access_token, einrefresh_tokenund dieopeniddes Nutzers zurück.
Platform Registration Requirements
Die Implementierung des WeChat-Logins erfordert die Registrierung auf der korrekten Entwicklerplattform. WeChat betreibt zwei verschiedene Plattformen; die Auswahl der falschen Plattform führt zum Fehlschlagen der Integration.
WeChat Official Accounts-Plattform
Für ein Captive Portal, das Besucher innerhalb des WeChat-In-App-Browsers bedient, benötigen Sie einen Service Account auf der Official Accounts-Plattform (mp.weixin.qq.com). Einem Subscription Account fehlen die erforderlichen Berechtigungen für die OAuth-Webseitenautorisierung. Ein Service Account unterstützt sowohl den Scope snsapi_base als auch snsapi_userinfo.
WeChat Open-Plattform
Für ein Captive Portal, auf das über einen Standard-Mobilbrowser außerhalb von WeChat zugegriffen wird (wie Chrome unter Android oder Safari unter iOS), benötigen Sie eine auf der Open-Plattform (open.weixin.qq.com) registrierte Website-Anwendung. Diese verwendet den Scope snsapi_login und zeigt einen QR-Code an, den der Nutzer mit seiner WeChat-App scannt.
Die meisten Enterprise-Bereitstellungen erfordern beide Registrierungen, um alle Zugriffsmethoden abzudecken.
Scope-Auswahl und Datenerfassung
Der Scope-Parameter bestimmt, welche Daten WeChat an Ihren Portalserver zurückgibt. Diese Entscheidung beeinflusst sowohl die Nutzerhürden als auch die Einhaltung des Datenschutzes.

snsapi_base
Dieser Scope gibt nur die OpenID zurück, eine eindeutige Kennung für den Nutzer innerhalb Ihres Official Accounts. Er erfordert keine Zustimmung des Nutzers, wodurch die Authentifizierung für den Nutzer unsichtbar bleibt. Dies ist optimal für wiederkehrende Besucher, von denen Sie bereits ein Profil besitzen, oder für Standorte, die minimale Hürden einer neuen Datenerfassung vorziehen.
snsapi_userinfo
Dieser Scope gibt die OpenID sowie den WeChat-Spitznamen, das Profilbild, das Geschlecht, die Spracheinstellung und die Stadt des Nutzers zurück. Er erfordert einen expliziten Zustimmungsbildschirm, was eine zusätzliche Hürde darstellt. Verwenden Sie dies für die Registrierung von Erstbesuchern, wenn die Erstellung eines Profils erforderlich ist, kombiniert mit einer GDPR-konformen Einwilligungsebene.
Integration der Netzwerkdurchsetzung
Der Erhalt eines OAuth-Tokens beweist die Identität, öffnet jedoch nicht das Netzwerk. Sie müssen eine erfolgreiche Authentifizierung mithilfe von Standardprotokollen in einen Netzwerkzugriff umwandeln.
RADIUS Change of Authorisation (CoA)
Definiert in IEEE 802.1X und RFC 3576 ermöglicht RADIUS CoA dem Portalserver, nach erfolgreichem OAuth eine Anfrage an den Netzwerk-Controller zu senden. Der Controller verschiebt das Gerät dann aus dem nicht authentifizierten VLAN in das Gäste-VLAN. Dies ist der Standard für Enterprise-Hardware wie Cisco Meraki, HPE Aruba, Ruckus und Juniper Mist.
MAC-Adressen-Bypass
Alternativ registriert der Portalserver die MAC-Adresse des Geräts als autorisierten Client, und der Controller lässt sie zu. Dies ist zwar einfacher zu implementieren, aber weniger sicher, da MAC-Adressen gefälscht (gespooft) werden können.
Das Cloud-Overlay von Purple automatisiert diese Übersetzung und sendet das entsprechende Signal an die zugrunde liegende Hardware (einschließlich Ubiquiti UniFi, Cambium, Extreme und Fortinet), sobald das WeChat-OAuth abgeschlossen ist.
Compliance- und Sicherheitsüberlegungen
GDPR- und PIPL-Konformität
Wenn Sie europäische Besucher bedienen, gilt die GDPR für die über WeChat-OAuth erfassten Daten. Wenn Sie chinesische Besucher bedienen, gilt das chinesische Gesetz zum Schutz persönlicher Daten (PIPL). Beide Rahmenwerke erfordern eine rechtmäßige Grundlage für die Verarbeitung, eine klare Zweckbindung und Datenminimierung. Der Scope snsapi_base lässt sich leichter mit den Grundsätzen der Datenminimierung vereinbaren als snsapi_userinfo.
CSRF-Schutz
Der state-Parameter in der OAuth-Anfrage verhinverhindert Cross-Site-Request-Forgery. Sie müssen einen kryptografisch zufälligen State-Wert generieren, diesen in der Benutzersitzung speichern und validieren, wenn WeChat zurückleitet.
Redirect-URI-Validierung
WeChat validiert die redirect_uri gegen die auf der Plattform registrierte autorisierte Domain. Wenn Ihr Portal-Server eine andere Subdomain, einen anderen Pfad oder HTTP anstelle von HTTPS verwendet, schlägt der OAuth-Flow mit dem Fehler 40029 fehl.
Weitere Informationen zur Sicherung Ihres Netzwerks finden Sie in unserem Leitfaden Enterprise WiFi Security: Ein vollständiger Leitfaden für 2026 .
Schlüsseldefinitionen
snsapi_base
A WeChat OAuth scope that returns only the user's OpenID without displaying a consent prompt.
Used when IT teams need to authenticate returning visitors silently without causing login friction.
snsapi_userinfo
A WeChat OAuth scope that returns the OpenID along with demographic data (nickname, gender, city) and requires explicit user consent.
Used during first-time registration when marketing teams need to build a visitor profile.
OpenID
A unique identifier for a specific user within a specific WeChat Official Account.
Used as the primary key in the portal database to track visitor behaviour and return visits.
RADIUS CoA
Change of Authorisation. A mechanism defined in RFC 3576 that allows a server to modify the authorisation state of an active session.
Used by the portal server to tell the wireless controller to grant network access after successful WeChat authentication.
PIPL
Personal Information Protection Law. China's comprehensive data privacy regulation.
Must be considered alongside GDPR when designing the consent flow for Chinese visitors using WeChat login.
AppID and AppSecret
The credentials provided by WeChat to identify and authenticate your application.
The AppSecret must remain securely on the portal server and never be exposed in client-side code.
State Parameter
A cryptographically random string passed in the OAuth request and validated upon return.
Essential for preventing Cross-Site Request Forgery (CSRF) attacks on the captive portal.
MAC Address Bypass
A method of granting network access by authorising the device's hardware address rather than requiring 802.1X authentication.
An alternative to RADIUS CoA for simpler network setups, though less secure.
Ausgearbeitete Beispiele
A luxury retail brand in London wants to offer WeChat login for Chinese shoppers. They want to collect demographic data to understand their customer base, but they are concerned about GDPR compliance and high drop-off rates at the portal.
The retailer should register a Service Account on the WeChat Official Accounts Platform. They must configure the portal to use the snsapi_userinfo scope for first-time connections to gather demographic data (nickname, gender, city). To ensure GDPR compliance, the portal page must display a clear, conscious-choice opt-in before the WeChat redirect, explaining exactly what data is collected and why. For returning shoppers, the portal should detect the MAC address and use snsapi_base for silent re-authentication, minimising friction.
A stadium deploys a new WiFi network using HPE Aruba controllers. They have configured WeChat OAuth, and the portal successfully receives the access token, but the visitor's device remains on the captive portal page and cannot access the internet.
The integration lacks a network enforcement mechanism. The portal server has verified the user's identity with WeChat, but it has not instructed the HPE Aruba controller to grant access. The portal server must be configured to send a RADIUS Change of Authorisation (CoA) message to the controller, instructing it to transition the user's MAC address from the pre-authentication role to the authenticated guest role.
Übungsfragen
Q1. You are deploying a captive portal across a retail chain. Testing shows that users opening the portal in Safari on iOS receive an error when selecting WeChat login, but users opening the portal from within a WeChat message link authenticate successfully. What is the likely cause?
Hinweis: Consider the difference between the WeChat in-app browser and standard mobile browsers.
Musterlösung anzeigen
The implementation is likely relying solely on a Service Account registered on the Official Accounts Platform, which only supports OAuth within the WeChat in-app browser. To support Safari on iOS, you must also register a Website Application on the WeChat Open Platform and implement user agent detection to route Safari users to the QR code flow.
Q2. Your portal server logs show frequent 40029 'invalid code' errors returning from the WeChat API during the access token exchange. What configuration should you check first?
Hinweis: Think about how WeChat validates the source of the authentication request.
Musterlösung anzeigen
You should verify the redirect_uri configuration. WeChat strictly validates the redirect URI against the authorised domain registered in the developer console. If the portal is using a different subdomain, or if it drops HTTPS, WeChat will reject the code exchange.
Q3. A venue operator wants to collect visitor data but insists on zero friction during the login process. They request that you configure WeChat login to collect the visitor's nickname and city without showing a consent prompt. How do you respond?
Hinweis: Review the capabilities of the different OAuth scopes.
Musterlösung anzeigen
You must inform the operator that this is technically impossible. Collecting demographic data like nickname and city requires the snsapi_userinfo scope, which mandatorily triggers a WeChat consent prompt. To achieve zero friction, you must use snsapi_base, which operates silently but only returns the OpenID.
Weiterlesen in dieser Reihe
Per-Device PSK nach Anbieter: iPSK, DPSK, MPSK und PPSK im Vergleich (und WPA3-Unterstützung)
Ein umfassender Vergleich von Per-Device-PSK-Implementierungen bei Cisco Meraki, HPE Aruba, Ruckus, Juniper Mist, Extreme, Fortinet und Ubiquiti UniFi. Erfahren Sie, wie sich WPA3-SAE auf Per-Device-Key-Strategien auswirkt und wann Sie Übergangsmodi implementieren sollten, anstatt auf 802.1X umzusteigen.
OpenWrt Custom Firmware Integration mit Purple WiFi
Dieses Handbuch bietet das vollständige Integrations-Playbook für die Bereitstellung von OpenWrt Custom Firmware mit Purple WiFi. Es deckt die Konfiguration des CoovaChilli Captive Portal, die Verwaltung des iptables Walled Garden, sicheres Mitarbeiter-WiFi über 802.1X mit hostapd sowie die mandantenfähige PPSK-Segmentierung mit dynamischer VLAN-Zuweisung ab. Damit erhalten IT-Teams die genauen Konfigurationsschritte, die für den Aufbau eines identitätsbasierten Netzwerks auf jeder OpenWrt-fähigen Hardware erforderlich sind.
Huawei AirEngine und CloudCampus Integration mit Purple WiFi
Dieses Handbuch bietet eine Schritt-für-Schritt-Anleitung für die Integration von Huawei AirEngine Access Points und iMaster NCE-Campus mit Purple WiFi. Es deckt die Captive Portal-Konfiguration, die 802.1X-Mitarbeiterauthentifizierung und die dynamische PPSK-VLAN-Steuerung für Unternehmensnetzwerke ab.