Zum Hauptinhalt springen

Integrating WeChat Authentication with Guest WiFi Captive Portals

Dieser Leitfaden erklärt, wie Sie die WeChat OAuth 2.0-Authentifizierung in Enterprise-Guest-WiFi-Captive-Portals integrieren. Er behandelt die Registrierungsanforderungen für beide Plattformen, die Scope-Auswahl für die Erfassung von First-Party-Daten, die Netzwerkdurchsetzung über RADIUS Change of Authorization und die Einhaltung von GDPR und Chinas PIPL. Betreiber von Standorten in den Bereichen Hotellerie, Einzelhandel und Events finden hier konkrete Implementierungsschritte, Praxisbeispiele und Sicherheitsrichtlinien für die skalierbare Bereitstellung von WeChat-Login für Guest-WiFi.

📖 8 Min. Lesezeit📝 1,966 Wörter🔧 2 ausgearbeitete Beispiele4 Übungsfragen📚 9 Schlüsseldefinitionen

Diesen Leitfaden anhören

Podcast-Transkript ansehen
HOW TO CONFIGURE WECHAT OAUTH AUTHENTICATION FOR CAPTIVE PORTALS A Purple Technical Briefing - Approximately 10 Minutes --- INTRODUCTION AND CONTEXT (approximately 1 minute) Welcome. If you are responsible for guest WiFi at a hotel, retail chain, stadium, or conference centre that serves Chinese visitors, this briefing is for you. WeChat has 1.38 billion monthly active users, according to Tencent's 2024 data. The overwhelming majority are in China, but the platform has a meaningful international footprint too - four million users in the United States, 12 million in Malaysia, and growing numbers across Southeast Asia, Europe, and the Middle East. When a Chinese guest connects to your WiFi and sees a login page with only email, Facebook, or a voucher code, they face immediate friction. They may not have a local email address set up on that device. They almost certainly have WeChat. So the question is not whether you should offer WeChat login - it is how you configure it correctly, securely, and in a way that generates first-party data you can actually use. That is what we are going to cover today. We will walk through the OAuth 2.0 flow, the two platform registrations you need, the scope decision that determines what data you collect, the network-side enforcement mechanism, and the compliance considerations that matter in 2026. --- TECHNICAL DEEP-DIVE (approximately 5 minutes) Let us start with the architecture. A captive portal intercepts HTTP traffic from an unauthenticated device and redirects it to a login page. That login page is hosted on a portal server - either on-premises or in the cloud. When you add WeChat OAuth, you are inserting a third-party identity provider into that flow. Here is the sequence. The guest connects to your SSID. The access point or wireless controller detects that the device has no authenticated session and redirects all HTTP traffic to your captive portal URL. The portal page loads and presents login options - including WeChat. The guest taps WeChat login. Your portal server redirects the browser to WeChat's authorisation endpoint, passing your App ID, the redirect URI, the response type of code, and the scope. WeChat handles the authentication entirely on its own servers. If the guest is already logged into WeChat in their browser, they see a consent screen. If they are using the WeChat in-app browser, the experience can be silent with the snsapi base scope - no consent prompt at all. WeChat then redirects back to your portal's redirect URI with a temporary authorisation code. Your portal server exchanges that code for an access token, passing your App ID, App Secret, the code, and grant type of authorisation code. WeChat returns an access token, a refresh token, the user's Open ID, and the scope granted. If you requested snsapi userinfo scope, you can then make a second API call to retrieve the user's nickname, avatar, gender, and city. Now, the two platform registrations. This is where most implementations go wrong. WeChat has two separate developer platforms. The WeChat Open Platform handles website applications and mobile apps. The WeChat Official Accounts Platform handles public accounts - what most venues actually need. For a captive portal serving guests inside the WeChat in-app browser, you need a Service Account on the Official Accounts Platform. A Subscription Account will not work - it does not have OAuth web page authorisation permissions. A Service Account does, and it supports both snsapi base and snsapi userinfo scopes. For a captive portal accessed from a standard mobile browser outside WeChat - Chrome on Android, Safari on iOS - you need a Website Application registered on the Open Platform. This uses snsapi login scope and presents a QR code that the user scans with their WeChat app. In practice, most venue deployments use both. A guest on a hotel's WiFi might open the portal in Chrome, see a QR code, scan it with WeChat, and authenticate. Or they might follow a link in WeChat itself, land in the in-app browser, and authenticate silently with snsapi base. Let us talk about scope selection, because this is a genuine decision point. snsapi base returns only the Open ID - a unique identifier for that user within your Official Account. It requires no user consent prompt. The authentication is invisible to the user. This is ideal for returning guests you have already profiled, or for venues where you want zero friction. snsapi userinfo returns the Open ID plus the user's WeChat nickname, profile picture, gender, language setting, and city. It requires an explicit consent screen. Most users accept, but there is friction. The right choice depends on your use case. For a first-time guest registration where you want to build a profile, use snsapi userinfo and pair it with a GDPR-compliant consent layer on your portal page. For a returning guest who has already consented and whose profile you already hold, use snsapi base for silent re-authentication. Now, the network enforcement side. Getting an OAuth token proves identity, but it does not automatically open the network. You need a mechanism to translate a successful authentication into network access. The two standard approaches are RADIUS Change of Authorisation, defined in RFC 3576, and MAC address bypass. With RADIUS CoA, your portal server sends a CoA request to the network controller after successful OAuth, and the controller moves the device from the unauthenticated VLAN to the guest VLAN. This works with Cisco Meraki, HPE Aruba, Ruckus, Juniper Mist, and most enterprise-grade controllers. With MAC bypass, the portal server registers the device's MAC address as an authorised client, and the controller allows it. MAC bypass is simpler to implement but less secure, because MAC addresses can be spoofed. Purple's Guest WiFi platform handles both mechanisms. After WeChat OAuth completes, Purple's cloud overlay sends the appropriate signal to the underlying hardware - whether that is Cisco Meraki, HPE Aruba, Ruckus, Juniper Mist, Ubiquiti UniFi, Cambium, Extreme, or Fortinet. The venue operator does not need to manage that translation manually. --- IMPLEMENTATION RECOMMENDATIONS AND PITFALLS (approximately 2 minutes) Let me give you the five things that cause WeChat OAuth captive portal implementations to fail. First: the redirect URI mismatch. WeChat validates the redirect URI against the authorised domain you registered on the platform. If your portal server uses a different subdomain, a different path, or HTTP instead of HTTPS, the OAuth flow fails with error 40029 - invalid code. Register every domain variant you use, including staging environments. Second: the App Secret on the client side. Your App Secret must never appear in client-side JavaScript. It belongs on your server. If it is exposed, anyone can impersonate your application and call WeChat's APIs on your behalf. Third: missing CSRF protection. The state parameter in the OAuth request exists specifically to prevent cross-site request forgery. Generate a cryptographically random state value, store it in the user's session, and validate it when WeChat redirects back. Skip this and you have a real vulnerability. Fourth: the in-app browser detection gap. WeChat's in-app browser sets a specific user agent string containing MicroMessenger. If your portal does not detect this and serve the correct OAuth flow, users get a broken experience or an error. Fifth: GDPR and PIPL alignment. If you serve European visitors, GDPR applies. If you serve Chinese visitors, China's Personal Information Protection Law - PIPL - applies. Both require a lawful basis for processing, clear purpose limitation, and data minimisation. snsapi base is easier to justify under data minimisation principles than snsapi userinfo. Whatever you collect, document your legal basis and your retention period. --- RAPID-FIRE Q AND A (approximately 1 minute) Can I use WeChat login on a portal that also offers email and SMS login? Yes. Most enterprise portal platforms, including Purple, support multiple authentication methods on the same portal page. Does WeChat OAuth work on iOS? Yes. WeChat login in Safari on iOS works via the QR code flow or redirect flow. The WeChat app itself handles the authentication. What happens if WeChat's API is unavailable? Implement a fallback. If the WeChat API call times out or returns an error, redirect the user to an alternative login method. Can I use the Open ID as a persistent customer identifier? Within your Official Account, yes. For cross-account identity resolution across multiple properties, use the UnionID instead. --- SUMMARY AND NEXT STEPS (approximately 1 minute) To summarise. WeChat OAuth authentication for captive portals is a two-platform registration exercise, a scope decision, a network enforcement integration, and a compliance review. Get those four things right and you have a login method that serves over a billion potential visitors with zero password friction. The practical next steps: determine whether your visitors encounter the portal inside the WeChat in-app browser or in a standard mobile browser. Decide on scope - snsapi base for returning guests, snsapi userinfo for first-time registration with consent. Confirm your network hardware supports RADIUS CoA. Review your privacy notice against GDPR and PIPL. Test the redirect URI, the state parameter validation, and the in-app browser detection before you go live. If you want to see how Purple handles WeChat OAuth as part of a broader Guest WiFi and analytics platform - across 80,000 venues and 440 million logins in 2024 - visit purple.ai or speak to your account team. Thanks for listening. --- END OF SCRIPT

header_image.png

Executive Summary

Wenn sich ein chinesischer Besucher mit Ihrem Unternehmensnetzwerk verbindet und auf ein Captive Portal stößt, das nur E-Mail, Facebook oder einen Gutscheincode anbietet, führt dies zu unmittelbaren Reibungsverlusten. WeChat hat laut den Daten von Tencent aus dem Jahr 2024 1,38 Milliarden monatlich aktive Nutzer. Die Integration von WeChat-Login-Funktionen für Guest-WiFi ist kein reiner Service für das Gastgewerbe – sie ist eine technische Voraussetzung, um First-Party-Daten dieser Zielgruppe reibungslos zu erfassen.

Dieser Leitfaden beschreibt die technische Architektur für die Integration der WeChat OAuth 2.0-Authentifizierung in Captive Portals. Er erklärt die Registrierung auf beiden Plattformen, die zur Unterstützung von Standard-Mobilbrowsern und dem WeChat-In-App-Browser erforderlich ist, wägt die Vor- und Nachteile der Scopes snsapi_base und snsapi_userinfo für die Datenerfassung ab und beschreibt, wie der Netzwerkzugriff mittels RADIUS Change of Authorization (CoA) oder MAC-Authentifizierungs-Bypass erzwungen wird. Zudem werden die Sicherheitskonfigurationen und Compliance-Vorgaben – GDPR und Chinas PIPL – behandelt, die für eine skalierbare Bereitstellung auf Infrastrukturen von Cisco Meraki, HPE Aruba, Ruckus, Juniper Mist, Ubiquiti UniFi, Cambium, Extreme und Fortinet erforderlich sind.


Technischer Deep-Dive: WeChat OAuth 2.0-Architektur

Ein Captive Portal fängt den HTTP-Traffic von einem nicht authentifizierten Gerät ab und leitet ihn auf eine Login-Seite weiter, die auf einem Portal-Server gehostet wird. Durch das Hinzufügen der WeChat-Authentifizierung wird ein Drittanbieter-Identitätsanbieter über das OAuth 2.0-Protokoll in diesen Ablauf integriert – derselbe Standard, den auch Google, Microsoft Entra ID und Okta für die föderierte Identität nutzen.

oauth_flow_diagram.png

Der Authentifizierungsablauf funktioniert wie folgt: Der Gast verbindet sich mit der SSID. Der Access Point oder Wireless Controller erkennt die nicht authentifizierte Sitzung und leitet den HTTP-Traffic an die Captive Portal-URL weiter. Der Gast wählt auf der Portalseite den WeChat-Login aus. Der Portal-Server leitet den Browser an den Autorisierungs-Endpunkt von WeChat unter open.weixin.qq.com weiter und übergibt dabei die AppID, die Redirect-URI, den Antworttyp code und den angeforderten Scope. WeChat übernimmt die Authentifizierung auf den eigenen Servern. Wenn der Gast den WeChat-In-App-Browser mit dem Scope snsapi_base verwendet, erfolgt die Authentifizierung im Hintergrund (silent) – es erscheint keine Zustimmungsaufforderung. Bei Verwendung von snsapi_userinfo zeigt WeChat einen Zustimmungsbildschirm an. WeChat leitet den Gast anschließend mit einem temporären Autorisierungscode zurück zur Redirect-URI des Portals. Der Portal-Server tauscht diesen Code gegen ein Access-Token aus, indem er api.weixin.qq.com/sns/oauth2/access_token aufruft und dabei die AppID, das AppSecret, den Code und den Grant-Typ authorization_code übergibt. WeChat gibt ein Access-Token, ein Refresh-Token, die OpenID des Nutzers und den erteilten Scope zurück. Wenn snsapi_userinfo erteilt wurde, führt der Server einen zweiten API-Aufruf durch, um den Spitznamen, das Profilbild (Avatar), das Geschlecht und die Stadt des Nutzers abzurufen.

Die Registrierungsanforderung für beide Plattformen

Die meisten Implementierungen scheitern bereits in der Registrierungsphase. WeChat betreibt zwei separate Entwicklerplattformen, und Enterprise-Bereitstellungen erfordern in der Regel beide.

Plattform URL Erforderlicher Kontotyp Unterstützter Scope Browser-Kontext
Official Accounts Platform mp.weixin.qq.com Service-Konto snsapi_base, snsapi_userinfo WeChat-In-App-Browser
Open Platform open.weixin.qq.com Website-Anwendung snsapi_login Standard-Mobilbrowser

Für Gäste, die über den WeChat-In-App-Browser auf das Portal zugreifen, benötigen Sie ein Service-Konto auf der Official Accounts Platform. Ein Abonnement-Konto (Subscription Account) funktioniert nicht, da ihm die Berechtigungen für die OAuth-Webseitenautorisierung fehlen. Für Gäste, die über Chrome auf Android oder Safari auf iOS auf das Portal zugreifen, benötigen Sie eine Website-Anwendung auf der Open Platform, die den Scope snsapi_login nutzt und dem Nutzer einen QR-Code zum Scannen anzeigt.

In der Praxis nutzen die meisten Standorte beide Varianten. Ein Hotelgast öffnet beispielsweise das Portal in Chrome, sieht einen QR-Code, scannt diesen mit WeChat und authentifiziert sich. Oder er folgt einem Link direkt in WeChat, landet im In-App-Browser und wird geräuschlos über snsapi_base authentifiziert.

Scope-Auswahl: Datenerfassung vs. Reibungsverluste

scope_comparison.png

Der von Ihnen angeforderte Scope bestimmt, welche Daten Sie erfassen und wie hoch die Reibungsverluste für den Gast sind. Dies ist eine wichtige Entscheidung mit Auswirkungen auf die Compliance.

snsapi_base gibt nur die OpenID zurück – eine eindeutige Kennung für diesen Nutzer innerhalb Ihres Official Accounts. Es ist keine Zustimmung des Nutzers erforderlich. Die Authentifizierung erfolgt für den Gast unsichtbar. Nutzen Sie diese Option für wiederkehrende Gäste, deren Profile Sie bereits besitzen, oder wenn ein reibungsloser Zugriff für Sie Priorität hat. Unter den Datenminimierungsgrundsätzen von GDPR und PIPL lässt sich snsapi_base leichter rechtfertigen.

snsapi_userinfo gibt die OpenID sowie den Spitznamen, das Profilbild, das Geschlecht und die Stadt des Nutzers zurück. Hierfür ist ein expliziter Zustimmungsbildschirm erforderlich. Nutzen Sie diese Option für die Erstregistrierung von Gästen, bei der Sie ein Profil erstellen müssen, kombiniert mit einem rechtskonformen Consent-Layer auf Ihrer Portalseite.

UnionID für Bereitstellungen an mehreren Standorten

Die OpenID ist für die Kombination aus einem Nutzer und einem bestimmten Official Account eindeutig. Eine Hotelgruppe mit 20 Standorten, von denen jeder einen eigenen Official Account hat, sieht 20 verschiedene OpenIDs für dasselbe Mitglied. Die UnionID löst dieses Problem. Sie ist eine einheitliche Kennung, die einen Nutzer über alle Official Accounts und Apps hinweg repräsentiert, die mit demselben Open-Platform-Konto verknüpft sind. Verknüpfen Sie Ihre Official Accounts mit Ihrem Open-Platform-Konto, und die UnionID wird in der OAuth-Antwort zurückgegeben. Dies ist das Fundament für crGästeerkennung auf Objektebene.


Implementierungsleitfaden

Mechanismen zur Netzwerkdurchsetzung

Der Erhalt eines OAuth-Tokens beweist die Identität. Er öffnet das Netzwerk nicht. Sie müssen dem Controller signalisieren, den Datenverkehr zuzulassen.

RADIUS Change of Authorization (CoA), definiert in RFC 3576, ist der empfohlene Ansatz für Unternehmen. Nach erfolgreichem OAuth sendet der Portal-Server eine CoA-Anfrage an den Netzwerk-Controller. Der Controller verschiebt das Gerät aus dem Pre-Authentication-VLAN in das Gäste-VLAN. Dies funktioniert mit Cisco Meraki, HPE Aruba, Ruckus, Juniper Mist, Ubiquiti UniFi, Cambium, Extreme und Fortinet.

MAC Authentication Bypass (MAB) registriert die MAC-Adresse des Geräts als autorisierten Client in der RADIUS-Datenbank. Der Controller erlaubt den Zugriff basierend auf dieser MAC. MAB ist einfacher zu implementieren, aber unzuverlässig: Moderne iOS- und Android-Geräte randomisieren MAC-Adressen standardmäßig, was die Sitzungszuordnung bei einer erneuten Verbindung unterbricht.

Die Guest WiFi -Plattform von Purple automatisiert diese Übersetzung. Nach Abschluss des WeChat-OAuth sendet das Cloud-Overlay von Purple das entsprechende CoA- oder MAB-Signal an die zugrunde liegende Hardware, wodurch eine manuelle VLAN-Konfiguration entfällt.

Sicherheitskonfiguration

Drei Konfigurationen sind unverzichtbar.

  1. Schützen Sie das AppSecret. Das AppSecret darf niemals im clientseitigen JavaScript erscheinen. Es muss auf Ihrem Server verbleiben. Wenn es offengelegt wird, können Angreifer Ihre Anwendung imitieren und in Ihrem Namen WeChat-APIs aufrufen.
  2. CSRF-Schutz implementieren. Generieren Sie einen kryptografisch zufälligen state-Wert, speichern Sie ihn in der Benutzersitzung und validieren Sie ihn, wenn WeChat zurückleitet. Dies verhindert Cross-Site-Request-Forgery-Angriffe gemäß RFC 6749.
  3. Registrieren Sie alle Redirect-URI-Varianten. WeChat validiert die Redirect-URI mit Ihrer registrierten Domain. Registrieren Sie jede Subdomain und Pfadvariante, die Sie verwenden, einschließlich Staging-Umgebungen, um den Fehler 40029 (ungültiger Code) zu verhindern.

In-App-Browser-Erkennung

Der In-App-Browser von WeChat setzt einen User-Agent-String, der MicroMessenger enthält. Ihr Portal muss diesen String erkennen und entsprechend weiterleiten: Official-Account-Flow für In-App-Browser, Open-Platform-QR-Code-Flow für Standard-Browser. Wenn dies nicht erkannt wird, führt dies zu fehlerhaften Darstellungen oder Authentifizierungsfehlern.

hotel_wechat_wifi.png


Best Practices und Compliance

GDPR-Compliance

Wenn Sie europäische Besucher bedienen oder in Europa tätig sind, gilt die GDPR für die Daten, die Sie über WeChat-OAuth erfassen. Sie müssen eine Rechtsgrundlage für die Verarbeitung festlegen – in der Regel eine Einwilligung oder berechtigte Interessen. Sie müssen vor der Authentifizierung einen klaren Datenschutzhinweis auf dem Captive Portal bereitstellen. Sie müssen Auskunfts- und Löschanfragen von Betroffenen nachkommen. Ein detailliertes Compliance-Framework finden Sie unter The Compliance Playbook: GDPR and Guest WiFi Data Privacy .

PIPL-Compliance

Chinas Gesetz zum Schutz persönlicher Daten (PIPL) gilt, wenn Sie personenbezogene Daten von chinesischen Staatsbürgern verarbeiten. Wie die GDPR erfordert auch das PIPL eine klare Zweckbindung, Datenminimierung und eine dokumentierte Rechtsgrundlage. snsapi_base ist im Rahmen der Datenminimierung einfacher zu rechtfertigen als snsapi_userinfo. Was auch immer Sie erfassen, dokumentieren Sie Ihre Rechtsgrundlage und Aufbewahrungsfrist vor dem Go-Live.

Netzwerksegmentierung

Isolieren Sie den Gäste-WiFi-Datenverkehr mithilfe von VLAN-Segmentierung von Ihrem Unternehmensnetzwerk. Über WeChat authentifizierte Gäste sollten in einem dedizierten Gäste-VLAN landen, das nur Internetzugang bietet – kein Zugriff auf interne Systeme. Dies entspricht den PCI-DSS-Anforderungen für die Isolierung von Karteninhaberdaten-Umgebungen und der allgemeinen Sicherheitskonvention für Unternehmen. Weitere Informationen zur Segmentierungsarchitektur finden Sie unter Bandwidth Management: A Practical Guide for 2026 .

Fallback-Authentifizierung

Wenn die API von WeChat nicht verfügbar ist, muss Ihr Portal auf eine alternative Anmeldemethode umleiten. Lassen Sie Gäste nicht vor einem leeren Bildschirm stehen. Ein Fallback auf E-Mail oder SMS sichert die Kontinuität. Dies ist besonders wichtig für Standorte in den Bereichen Transport und Healthcare , in denen Konnektivität eine Dienstleistungsverpflichtung darstellt.


Fallstudien aus der Praxis

Hotellerie: Luxushotelgruppe

Ein Luxushotel mit 400 Zimmern in London bedient einen erheblichen Anteil an Gästen aus Festlandchina. Ihr bestehendes Captive Portal erforderte eine E-Mail-Adresse und eine SMS-Verifizierung. Chinesische Mobilfunknummern empfangen häufig keine SMS von europäischen Anbietern, und viele Gäste haben keine lokale E-Mail auf ihrem Gerät konfiguriert. Das Ergebnis war eine Absprungrate von 60 % am Portal.

Das Hotel registrierte ein Service-Konto auf der Official Accounts Platform und eine Website-Anwendung auf der Open Platform. Das Portal erkennt den User-Agent MicroMessenger und löst snsapi_base für In-App-Browser-Nutzer aus – was sie in weniger als drei Sekunden ohne Zustimmungsbildschirm verbindet. Gäste, die über Chrome oder Safari zugreifen, sehen einen QR-Code. Bei späteren Aufenthalten wird dieselbe OpenID erkannt und der Gast wird im Hintergrund erneut authentifiziert. Das CRM des Hotels protokolliert den wiederholten Besuch, was eine gezielte Kommunikation vor der Ankunft ermöglicht. Weitere Informationen zur Bereitstellung von WiFi im Gastgewerbe finden Sie unter Hospitality .

Einzelhandel: Einkaufszentrum-Analysen

Ein großes Einkaufszentrum möchte demografische Daten von chinesischen Käufern erfassen, um Entscheidungen über den Mietermix und das Marketing zu treffen. Benötigt werden Herkunftsort, Geschlecht und Besuchsbeurteilung. snsapi_base reicht nicht aus – sie benötigen snsapi_userinfo. Das Portal fordert den vollständigen userinfo-Bereich an. Der Gast sieht einen WeChat-Zustimmungsbildschirm und tippt auf Zulassen. Die Analyseplattform des Einkaufszentrums, die in die WiFi Analytics von Purple integriert ist, erhält einen Datenstrom verifizierter demografischer Daten. An Samstagnachmittagen stammen 40 % der WiFi-Nutzer aus einer bestimmten Region. Diese Daten direkty informiert darüber, welche Marken für Pop-up-Events angesprochen werden sollten. Weitere Informationen zu WiFi-Bereitstellungen im Einzelhandel finden Sie unter Einzelhandel .


Fehlerbehebung und Risikominderung

Die fünf häufigsten Fehlerszenarien bei der Bereitstellung von WeChat-OAuth-Captive Portals sind wie folgt.

Fehlende Übereinstimmung der Redirect-URI (Fehler 40029). WeChat validiert die Redirect-URI mit der registrierten Domain. Jede Abweichung bei Subdomain, Pfad oder Protokoll führt dazu, dass der Code-Austausch fehlschlägt. Registrieren Sie jede Variante, einschließlich Staging-Umgebungen.

Offenlegung des AppSecret. Das Einbetten des AppSecret in clientseitigen Code ist das schwerwiegendste Sicherheitsrisiko. Verlagern Sie die gesamte Logik für den Token-Austausch auf den Server.

Fehlender CSRF-Schutz. Wenn die Validierung des state-Parameters weggelassen wird, ist das Portal anfällig für Cross-Site-Request-Forgery. Generieren Sie einen kryptografisch zufälligen Wert pro Sitzung und validieren Sie diesen beim Callback.

Fehlgeschlagene In-App-Browser-Erkennung. Wenn MicroMessenger im User-Agent nicht erkannt wird, erhalten Nutzer von In-App-Browsern den falschen OAuth-Flow, was zu Fehlern führt.

MAC-Adressen-Randomisierung unterbricht MAB-Sitzungen. Moderne mobile Betriebssysteme randomisieren MAC-Adressen. Gäste, die eine MAB-basierte Durchsetzung nutzen, verlieren ihre Sitzung bei einer erneuten Verbindung. Aktualisieren Sie auf RADIUS CoA für ein zuverlässiges Sitzungsmanagement. Eine Anleitung zur sicheren WiFi-Konfiguration finden Sie unter Was ist sicheres WiFi: Essentieller Leitfaden für Unternehmen 2026 .


ROI und geschäftliche Auswirkungen

Die Bereitstellung der WeChat-Login-Funktion für Gäste-WiFi hat drei messbare Auswirkungen.

Höhere Authentifizierungsraten. Durch den Wegfall der SMS-Verifizierung als Fehlerquelle und der Pflicht zur E-Mail-Eingabe steigt der Prozentsatz der chinesischen Besucher, die sich erfolgreich verbinden. Eine Absprungrate von 60 % ist ein realistischer Ausgangswert für Portale ohne WeChat-Unterstützung.

Qualität von First-Party-Daten. Über WeChat authentifizierte Profile enthalten eine verifizierte OpenID und, mit snsapi_userinfo, demografische Attribute direkt von der Social-Media-Plattform. Diese Daten fließen in Analyseplattformen ein, um zielgerichtetes Marketing ohne Abhängigkeit von Drittanbieter-Cookies zu ermöglichen.

Reduzierter Support-Aufwand. Ein reibungsloser Login reduziert Support-Anrufe bei der Rezeption und der IT durch internationale Gäste, die Verbindungsprobleme beheben möchten.

Purple ist an über 80.000 Standorten im Einsatz und verzeichnete im Jahr 2024 440 Millionen Logins (interne Daten von Purple). Die Plattform ist ISO 27001-zertifiziert, GDPR- und CCPA-konform und weist eine Betriebszeit von 99,999 % auf. Für Standorte in den Bereichen Einzelhandel und Gastgewerbe verwandelt die WeChat-Authentifizierung das Netzwerk von einem Kostenfaktor in einen zuverlässigen Kanal zur Erfassung von First-Party-Daten.

Schlüsseldefinitionen

Captive portal

A web page that intercepts HTTP traffic from an unauthenticated device and requires the user to interact with it before network access is granted.

The primary interface where the WeChat login option is presented to the guest. The portal server hosts this page and orchestrates the OAuth flow.

OAuth 2.0

An industry-standard authorisation protocol (RFC 6749) that allows a third-party application to obtain limited access to an HTTP service on behalf of a user.

The underlying protocol WeChat uses to pass authentication tokens to the portal server without exposing user credentials. The same protocol used by Microsoft Entra ID, Okta, and Google Workspace.

OpenID

A unique alphanumeric identifier assigned to a specific WeChat user for a specific Official Account.

Used as the primary key to identify returning guests in the WiFi analytics database. Changes per Official Account - use UnionID for cross-property recognition.

UnionID

A single WeChat identifier representing a user across all Official Accounts and apps linked to the same Open Platform account.

Essential for hotel groups, retail chains, and stadium operators with multiple venues who need to recognise the same guest across their entire estate.

RADIUS CoA (Change of Authorization)

An extension to the RADIUS protocol (RFC 3576) that allows a RADIUS server to dynamically change the authorisation attributes of an active session.

The secure method used to move a guest device from an isolated pre-authentication VLAN to the active internet VLAN after successful WeChat login. Supported by Cisco Meraki, HPE Aruba, Ruckus, Juniper Mist, Ubiquiti UniFi, Cambium, Extreme, and Fortinet.

snsapi_base

A WeChat OAuth scope that returns only the user's OpenID and requires no consent prompt from the user.

The recommended scope for returning guest re-authentication. Easier to justify under GDPR and PIPL data minimisation principles.

snsapi_userinfo

A WeChat OAuth scope that returns the user's OpenID, nickname, avatar, gender, and city, and requires an explicit consent screen.

Used for first-time guest registration where demographic data is required for analytics. Requires documented lawful basis under GDPR and PIPL.

PIPL (Personal Information Protection Law)

China's comprehensive data privacy legislation, effective November 2021, regulating the processing of personal information of natural persons located in China.

Applies when venues process data from Chinese citizens via WeChat OAuth. Requires clear consent, purpose limitation, data minimisation, and a deletion mechanism.

AppSecret

A confidential cryptographic key issued by WeChat during application registration, used to authenticate API calls from the portal server.

Must be stored exclusively on the server side. Exposure in client-side JavaScript allows attackers to impersonate the application and call WeChat APIs maliciously.

Ausgearbeitete Beispiele

A 400-room luxury hotel in London has a 60% portal drop-off rate among guests from mainland China. The current portal requires email and SMS verification. The IT Director needs to implement WeChat authentication while maintaining GDPR compliance and network security.

Step 1: Register a Service Account on the WeChat Official Accounts Platform (mp.weixin.qq.com) and a Website Application on the WeChat Open Platform (open.weixin.qq.com). Step 2: Configure the portal to detect the MicroMessenger user agent string. If detected, trigger the snsapi_base OAuth flow for silent authentication. If not detected, present the QR code flow. Step 3: Add a GDPR-compliant privacy notice and consent checkbox to the portal page before the WeChat login button becomes active. The notice must state: data collected (OpenID only), purpose (guest WiFi access and return visit recognition), and retention period. Step 4: After successful OAuth token exchange, the portal server issues a RADIUS CoA request to the Cisco Meraki controller, moving the guest device from the pre-auth VLAN to the segmented guest VLAN. Step 5: Store the OpenID against the device MAC address in the guest database. On subsequent visits, the returning OpenID triggers silent re-authentication.

Kommentar des Prüfers: This approach correctly addresses both the technical and compliance requirements. Using snsapi_base aligns with GDPR data minimisation principles, reducing legal risk while eliminating the SMS verification failure point. RADIUS CoA ensures secure, automated network segmentation. The consent checkbox satisfies the GDPR requirement for a documented lawful basis. The key decision is snsapi_base over snsapi_userinfo - the hotel does not need demographic data for this use case, so collecting it would introduce unnecessary compliance obligations.

A retail mall wants to capture gender and city data from Chinese shoppers via guest WiFi to feed into their analytics platform. They currently use MAC Authentication Bypass for their existing portal running on HPE Aruba hardware.

Step 1: Register a Service Account on the WeChat Official Accounts Platform. Step 2: Configure the portal to use snsapi_userinfo scope to retrieve gender and city. Step 3: Add a clear consent screen explaining the value exchange: free WiFi in return for profile data access. The consent must be explicit and granular under both GDPR and PIPL. Step 4: After authentication, the portal server registers the device's MAC address in the RADIUS database. The HPE Aruba controller permits access via MAB. Step 5: Document the lawful basis (consent), purpose (venue analytics and marketing), and retention period (24 months) in a data processing register. Provide a data deletion mechanism.

Kommentar des Prüfers: The snsapi_userinfo scope correctly retrieves the required demographic data. However, relying on MAB introduces a significant operational risk: iOS 14+ and Android 10+ randomise MAC addresses by default, meaning guests will lose their authenticated session on reconnect and be forced to re-authenticate. The mall should plan to migrate to RADIUS CoA on HPE Aruba to resolve this. The PIPL compliance documentation is not optional - it is a legal requirement for processing data from Chinese citizens, regardless of where the venue is located.

Übungsfragen

Q1. You are deploying a captive portal at a stadium. You want returning season ticket holders who have previously authenticated to connect automatically without seeing a login screen on subsequent visits. Which WeChat OAuth scope should you implement for the re-authentication flow, and why?

Hinweis: Consider which scope allows for silent authentication without prompting the user for consent on each visit.

Musterlösung anzeigen

Use snsapi_base. This scope returns only the user's OpenID and requires no consent prompt, enabling silent re-authentication. On the first visit, you store the OpenID against the fan's profile. On subsequent visits, the portal detects the returning OpenID via snsapi_base, confirms the match, and issues a RADIUS CoA to grant access - all without the fan seeing a login screen. This also aligns with GDPR data minimisation principles, as you are not collecting additional data beyond what is needed for the authentication function.

Q2. During testing, your portal successfully redirects to WeChat, the user grants consent, and WeChat redirects back to your portal. However, the portal server logs show OAuth error 40029 (invalid code). What is the most likely configuration error, and how do you resolve it?

Hinweis: WeChat strictly validates the destination it sends the authorisation code to against a registered list.

Musterlösung anzeigen

The most likely cause is a redirect URI mismatch. WeChat validates the redirect URI in the OAuth request against the authorised domain registered on the platform. If the portal server uses a different subdomain, a different path, or HTTP instead of HTTPS, the code exchange fails with error 40029. Resolution: log into the WeChat developer platform, navigate to your Service Account or Website Application settings, and add every redirect URI variant you use - including staging subdomains, different paths, and HTTPS versions. Ensure the redirect_uri parameter in your OAuth request exactly matches one of the registered URIs, including URL encoding.

Q3. An IT manager proposes embedding the WeChat AppSecret in the captive portal's front-end JavaScript to speed up the token exchange process directly from the client browser. Why must you reject this proposal, and what is the correct architecture?

Hinweis: Consider the security implications of exposing cryptographic keys in publicly accessible code.

Musterlösung anzeigen

Reject this proposal. The AppSecret is a confidential cryptographic key. Embedding it in client-side JavaScript exposes it to anyone who views the page source or intercepts network traffic. An attacker can extract the AppSecret and impersonate the application, calling WeChat APIs on the venue's behalf, accessing user data, and potentially compromising the entire Official Account. The correct architecture: the client-side portal page receives the authorisation code from WeChat and forwards it to the portal server via a server-side API call. The portal server holds the AppSecret in a secure environment variable and performs the token exchange with WeChat's API. The AppSecret never leaves the server.

Q4. A hotel group with 15 properties across Europe wants to build a unified guest profile that recognises when the same Chinese guest stays at different properties. Each property has its own WeChat Official Account. What WeChat identifier should they use, and what configuration is required?

Hinweis: The OpenID is account-specific. There is a different identifier designed for cross-account recognition.

Musterlösung anzeigen

Use the UnionID. The OpenID changes per Official Account, so the same guest will have 15 different OpenIDs across 15 accounts. The UnionID is a stable identifier representing a user across all Official Accounts and apps linked to the same Open Platform account. Configuration required: link all 15 Official Accounts to a single WeChat Open Platform account. Once linked, the UnionID is returned in the OAuth response when the user has authorised at least one of the linked accounts. Use the UnionID as the primary key in the guest CRM to build cross-property profiles and recognise returning guests regardless of which property they visit.

Weiterlesen in dieser Reihe

Einrichtung eines Captive Portals auf Starlink: Ein Leitfaden für abgelegene und maritime Standorte

Dieser Leitfaden beschreibt detailliert, wie Sie die native Starlink-Hardware umgehen und ein Cloud-gesteuertes Captive Portal mithilfe von Enterprise-Routing-Geräten integrieren. Sie erfahren, wie Sie die CGNAT-Einschränkung überwinden, eine VLAN-Segmentierung erzwingen, Bandbreitenbeschränkungen von Satelliten verwalten und die Einhaltung gesetzlicher Vorschriften sicherstellen.

Leitfaden lesen →

Hotel Guest WiFi Management: Integrating PMS, Portals, and Brand Standards

Dieser technische Leitfaden beschreibt detailliert die Architektur von Hotel-WiFi-Netzwerken der Enterprise-Klasse, mit Schwerpunkt auf VLAN-Segmentierung, PMS-Integration für automatisiertes Sitzungsmanagement und Captive Portal-Optimierung für eine GDPR-konforme Datenerfassung.

Leitfaden lesen →

Captive Portal Best Practices: Designing for High Conversion and Compliance

Dieser technische Leitfaden bietet IT-Managern, Netzwerkarchitekten und Betriebsleitern von Veranstaltungsorten eine vollständige Blaupause für die Bereitstellung von Captive Portals, die Netzwerksicherheit mit hoher User-Conversion in Einklang bringen. Er deckt die gesamte Architektur ab – von der VLAN-Segmentierung und RADIUS-Authentifizierung bis hin zu GDPR-konformem Consent-Design und der Auswahl von Authentifizierungsmethoden. Basierend auf der operativen Erfahrung von Purple in über 80.000 Standorten und 440 Millionen Logins im Jahr 2024 basiert jede Empfehlung auf realen Bereitstellungsdaten.

Leitfaden lesen →