Zum Hauptinhalt springen

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 Plattform-Registrierungen, den OAuth 2.0-Ablauf, die Auswahl des Scopes sowie die Mechanismen zur Netzwerk-Durchsetzung, die für die sichere Erfassung von First-Party-Daten chinesischer Besucher erforderlich sind.

📖 4 Min. Lesezeit📝 815 Wörter🔧 2 ausgearbeitete Beispiele3 Übungsfragen📚 8 Schlüsseldefinitionen

Diesen Leitfaden anhören

Podcast-Transkript ansehen
SO KONFIGURIEREN SIE DIE WECHAT-OAUTH-AUTHENTIFIZIERUNG FÜR CAPTIVE PORTALS Ein technisches Briefing von Purple - Ca. 10 Minuten --- EINFÜHRUNG UND KONTEXT (ca. 1 Minute) Herzlich willkommen. Wenn Sie für das Gäste-WiFi in einem Hotel, einer Einzelhandelskette, einem Stadion oder einem Konferenzzentrum verantwortlich sind, das chinesische Besucher bedient, ist dieses Briefing genau das Richtige für Sie. WeChat hat laut den Daten von Tencent aus dem Jahr 2024 1,38 Milliarden monatlich aktive Nutzer. Die überwältigende Mehrheit befindet sich in China, aber die Plattform hat auch eine bedeutende internationale Präsenz – vier Millionen Nutzer in den USA, 12 Millionen in Malaysia und wachsende Zahlen in Südostasien, Europa und dem Nahen Osten. Wenn sich ein chinesischer Gast mit Ihrem WiFi verbindet und eine Login-Seite sieht, die nur E-Mail, Facebook oder einen Gutscheincode anbietet, stößt er sofort auf Barrieren. Möglicherweise hat er auf diesem Gerät keine lokale E-Mail-Adresse eingerichtet. Aber er hat mit an Sicherheit grenzender Wahrscheinlichkeit WeChat. Die Frage ist also nicht, ob Sie einen WeChat-Login anbieten sollten, sondern wie Sie ihn korrekt, sicher und so konfigurieren, dass Sie tatsächlich nutzbare First-Party-Daten generieren. Genau darum geht es heute. Wir gehen den OAuth 2.0-Ablauf durch, die zwei erforderlichen Plattform-Registrierungen, die Entscheidung über den Scope, die bestimmt, welche Daten Sie erfassen, den netzwerkseitigen Durchsetzungsmechanismus und die Compliance-Überlegungen, die im Jahr 2026 wichtig sind. --- TECHNISCHER DEEP-DIVE (ca. 5 Minuten) Beginnen wir mit der Architektur. Ein Captive Portal fängt den HTTP-Verkehr von einem nicht authentifizierten Gerät ab und leitet ihn auf eine Login-Seite weiter. Diese Login-Seite wird auf einem Portal-Server gehostet – entweder lokal oder in der Cloud. Wenn Sie WeChat-OAuth hinzufügen, binden Sie einen Drittanbieter-Identitätsanbieter in diesen Ablauf ein. Hier ist die Abfolge. Der Gast verbindet sich mit Ihrer SSID. Der Access Point oder Wireless-Controller erkennt, dass das Gerät keine authentifizierte Sitzung hat, und leitet den gesamten HTTP-Verkehr an Ihre Captive Portal-URL weiter. Die Portalseite lädt und zeigt Login-Optionen an – einschließlich WeChat. Der Gast tippt auf den WeChat-Login. Ihr Portal-Server leitet den Browser an den Autorisierungsendpunkt von WeChat unter open.weixin.qq.com weiter und übergibt Ihre AppID, die Redirect-URI, den Antworttyp „code“ und den Scope. WeChat wickelt die Authentifizierung vollständig auf den eigenen Servern ab. Wenn der Gast in seinem Browser bereits bei WeChat angemeldet ist, sieht er einen Zustimmungsbildschirm. Wenn er den WeChat-In-App-Browser verwendet, kann der Vorgang mit dem Scope snsapi_base völlig geräuschlos ablaufen – ganz ohne Zustimmungsaufforderung. WeChat leitet dann mit einem temporären Autorisierungscode zurück an die Redirect-URI Ihres Portals. Ihr Portal-Server tauscht diesen Code gegen ein Access-Token aus, indem er api.weixin.qq.com/sns/oauth2/access_token aufruft und Ihre AppID, das AppSecret, den Code und den Grant-Typ authorization_code übergibt. WeChat gibt ein Access-Token, ein Refresh-Token, die OpenID des Benutzers und den gewährten Scope zurück. Wenn Sie den Scope snsapi_userinfo angefordert haben, können Sie anschließend einen zweiten API-Aufruf durchführen, um den Spitznamen, das Profilbild, das Geschlecht und die Stadt des Benutzers abzurufen. Nun zu den beiden Plattform-Registrierungen. Hier passieren die meisten Fehler bei Implementierungen. WeChat hat zwei separate Entwicklerplattformen. Die WeChat Open Platform unter open.weixin.qq.com ist für Website-Anwendungen und mobile Apps zuständig. Die WeChat Official Accounts Platform unter mp.weixin.qq.com verwaltet öffentliche Konten – was die meisten Veranstaltungsorte tatsächlich benötigen. Für ein Captive Portal, das Gäste innerhalb des WeChat-In-App-Browsers bedient, benötigen Sie ein Service-Konto auf der Official Accounts Platform. Ein Abonnement-Konto (Subscription Account) funktioniert nicht – es verfügt nicht über die erforderlichen Berechtigungen zur OAuth-Webseiten-Autorisierung. Ein Service-Konto hingegen schon, und es unterstützt sowohl den Scope snsapi_base als auch snsapi_userinfo. 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 Platform registrierte Website-Anwendung. Diese verwendet den Scope snsapi_login und zeigt einen QR-Code an, den der Benutzer mit seiner WeChat-App scannt. In der Praxis nutzen die meisten Bereitstellungen an Veranstaltungsorten beides. Ein Gast im WiFi eines Hotels öffnet das Portal vielleicht in Chrome, sieht einen QR-Code, scannt ihn mit WeChat und authentifiziert sich. Oder er folgt einem Link direkt in WeChat, landet im In-App-Browser und authentifiziert sich geräuschlos über snsapi_base. Lassen Sie uns über die Auswahl des Scopes sprechen, da dies eine wichtige Entscheidung ist. snsapi_base gibt nur die OpenID zurück – eine eindeutige Kennung für diesen Benutzer innerhalb Ihres Official Accounts. Es ist kein Zustimmungsfenster für den Benutzer erforderlich. Die Authentifizierung erfolgt für den Benutzer unsichtbar. Dies ist ideal für wiederkehrende Gäste, von denen Sie bereits ein Profil haben, oder für Orte, an denen Sie absolute Reibungslosigkeit auf Kosten neuer Daten bevorzugen. snsapi_userinfo gibt die OpenID sowie den WeChat-Spitznamen, das Profilbild, das Geschlecht, die Spracheinstellung und die Stadt des Benutzers zurück. Dies erfordert einen expliziten Zustimmungsbildschirm. Der Benutzer sieht eine Aufforderung, ob er Ihrem Official Account den Zugriff auf seine Informationen gestatten möchte. Die meisten Benutzer stimmen zu, aber es entsteht eine Hürde. Die richtige Wahl hängt von Ihrem Anwendungsfall ab. Für die Erstregistrierung eines Gastes, bei der Sie ein Profil erstellen möchten, verwenden Sie snsapi_userinfo und kombinieren Sie dies mit einer GDPR-konformen Zustimmungsebene auf Ihrer Portalseite. Für einen wiederkehrenden Gast, der bereits zugestimmt hat und dessen Profil Sie bereits besitzen, nutzen Sie snsapi_base für eine stille Re-Authentifizierung. Nun zur netzwerkseitigen Durchsetzung. Der Erhalt eines OAuth-Tokens beweist zwar die Identität, öffnet aber nicht automatisch das Netzwerk. Sie benötigen einen Mechanismus, um eine erfolgreiche Authentifizierung in einen Netzwerkzugriff zu übersetzen. Die beiden Standardansätze sind RADIUS Change of Authorisation (definiert in RFC 3576) und der MAC-Adressen-Bypass. Bei RADIUS CoA sendet Ihr Portal-Server nach erfolgreichem OAuth eine CoA-Anfrage an den Netzwerk-Controller, und der Controller verschiebt das Gerät aus dem nicht authentifizierten VLAN in das Gäste-VLAN. Dies funktioniert mit Cisco Meraki, HPE Aruba, Ruckus, Juniper Mist und den meisten anderen Enterprise-Controllern. Beim MAC-Bypass registriert der Portal-Server die MAC-Adresse des Geräts als autorisierten Client, und der Controller gibt sie frei. Der MAC-Bypass ist einfacher zu implementieren, aber weniger sicher, da MAC-Adressen gefälscht werden können. Die Guest WiFi-Plattform von Purple unterstützt beide Mechanismen. Nach Abschluss des WeChat-OAuth sendet das Cloud-Overlay von Purple das entsprechende Signal an die zugrunde liegende Hardware – sei es Cisco Meraki, HPE Aruba, Ruckus, Juniper Mist, Ubiquiti UniFi, Cambium, Extreme oder Fortinet. Der Betreiber des Veranstaltungsorts muss diese Übersetzung nicht manuell verwalten. --- EMPFEHLUNGEN FÜR DIE IMPLEMENTIERUNG UND STOLPERSTEINE (ca. 2 Minuten) Lassen Sie mich Ihnen die fünf Gründe nennen, warum WeChat-OAuth-Implementierungen bei Captive Portals scheitern. Erstens: Abweichungen bei der Redirect-URI. WeChat validiert die Redirect-URI streng gegen die autorisierte Domain, die Sie auf der Plattform registriert haben. Wenn Ihr Portal-Server eine andere Subdomain, einen anderen Pfad oder HTTP statt HTTPS verwendet, schlägt der OAuth-Ablauf mit dem Fehler 40029 (ungültiger Code) fehl. Registrieren Sie jede von Ihnen verwendete Domain-Variante, einschließlich Staging-Umgebungen. Zweitens: Das AppSecret auf der Client-Seite. Ihr AppSecret darf niemals im clientseitigen JavaScript oder in einer mobilen App-Binärdatei auftauchen. Es gehört auf Ihren Server. Wenn es offengelegt wird, kann jeder Ihre Anwendung imitieren und in Ihrem Namen die APIs von WeChat aufrufen. Drittens: Fehlender CSRF-Schutz. Der State-Parameter in der OAuth-Anfrage dient speziell dazu, Cross-Site-Request-Forgery zu verhindern. Generieren Sie einen kryptografisch zufälligen State-Wert, speichern Sie ihn in der Sitzung des Benutzers und validieren Sie ihn, wenn WeChat zurückleitet. Wenn Sie dies überspringen, haben Sie eine echte Sicherheitslücke. Viertens: Fehlende Erkennung des In-App-Browsers. Der In-App-Browser von WeChat setzt einen spezifischen User-Agent-String, der „MicroMessenger“ enthält. Wenn Ihr Portal dies nicht erkennt und den richtigen OAuth-Ablauf bereitstellt – Official Account-Ablauf für den In-App-Browser, Open Platform QR-Ablauf für Standardbrowser –, erhalten die Benutzer eine fehlerhafte Darstellung oder eine Fehlermeldung. Fünftens: Abstimmung von GDPR und PIPL. Wenn Sie europäische Besucher bedienen, gilt die GDPR für die Daten, die Sie über WeChat-OAuth erfassen. Wenn Sie chinesische Besucher bedienen, gilt das chinesische Gesetz zum Schutz persönlicher Daten – PIPL – für die Verarbeitung ihrer Daten. Beide erfordern eine Rechtsgrundlage für die Verarbeitung, eine klare Zweckbindung und Datenminimierung. snsapi_base lässt sich unter den Grundsätzen der Datenminimierung leichter rechtfertigen als snsapi_userinfo. Was auch immer Sie erfassen: Dokumentieren Sie Ihre Rechtsgrundlage und Ihre Aufbewahrungsfrist. --- SCHNELLE FRAGEN UND ANTWORTEN (ca. 1 Minute) Frage: Kann ich den WeChat-Login auf einem Portal nutzen, das auch E-Mail- und SMS-Login anbietet? Ja. Die meisten Enterprise-Portal-Plattformen, einschließlich Purple, unterstützen mehrere Authentifizierungsmethoden auf derselben Portalseite. WeChat erscheint dann als eine Option neben anderen. Frage: Funktioniert WeChat-OAuth unter iOS? Ja, aber mit einer Nuance. Das App Tracking Transparency-Framework von Apple hat keinen Einfluss auf serverseitige OAuth-Abläufe. Der WeChat-Login in Safari unter iOS funktioniert über den QR-Code-Ablauf oder den Redirect-Ablauf. Die WeChat-App selbst übernimmt die Authentifizierung. Frage: Was passiert, wenn die API von WeChat nicht verfügbar ist? Ihr Portal sollte ein Fallback implementieren. Wenn der WeChat-API-Aufruf das Zeitlimit überschreitet oder einen Fehler zurückgibt, leiten Sie den Benutzer zu einer alternativen Login-Methode weiter. Lassen Sie ihn nicht vor einem leeren Bildschirm stehen. Frage: Kann ich die OpenID als dauerhafte Kundenkennung verwenden? Innerhalb Ihres Official Accounts: Ja. Die OpenID ist für einen bestimmten Benutzer und einen bestimmten Official Account stabil. Wenn Sie mehrere Official Accounts haben, hat derselbe Benutzer in diesen Konten unterschiedliche OpenIDs. Für eine kontoübergreifende Identitätsauflösung stellt WeChat eine UnionID bereit, wofür Ihre Konten auf der Open Platform verknüpft sein müssen. --- ZUSAMMENFASSUNG UND NÄCHSTE SCHRITTE (ca. 1 Minute) Zusammenfassend lässt sich sagen: Die WeChat-OAuth-Authentifizierung für Captive Portals erfordert eine Registrierung auf zwei Plattformen, eine Entscheidung über den Scope, eine Integration der Netzwerk-Durchsetzung und eine Compliance-Prüfung. Wenn Sie diese vier Punkte richtig umsetzen, haben Sie eine Login-Methode, die über eine Milliarde potenzieller Besucher völlig passwortfrei bedient. Die praktischen nächsten Schritte sind folgende: Bestimmen Sie erstens, ob Ihre Besucher das Portal innerhalb des WeChat-In-App-Browsers oder in einem Standard-Mobilbrowser aufrufen – das entscheidet darüber, welche Plattform-Registrierung Sie benötigen. Entscheiden Sie sich zweitens für den Scope – snsapi_base für wiederkehrende Gäste, snsapi_userinfo für die Erstregistrierung mit Zustimmung. Vergewissern Sie sich drittens, dass Ihre Netzwerkhardware RADIUS CoA unterstützt, oder konfigurieren Sie alternativ den MAC-Bypass. Überprüfen Sie viertens Ihre Datenschutzerklärung und Ihren Consent-Flow im Hinblick auf die Anforderungen von GDPR und PIPL. Testen Sie fünftens die Redirect-URI, die Validierung des State-Parameters und die Erkennung des In-App-Browsers, bevor Sie live gehen. Wenn Sie sehen möchten, wie Purple WeChat-OAuth als Teil einer umfassenderen Guest WiFi- und Analyseplattform handhabt – an 80.000 Veranstaltungsorten und bei 440 Millionen Logins im Jahr 2024 –, besuchen Sie purple.ai oder sprechen Sie mit Ihrem Account-Team. Vielen Dank fürs Zuhören. --- ENDE DES SKRIPTS

header_image.png

Management-Zusammenfassung

Wenn sich chinesische Besucher mit Ihrem WiFi verbinden, führt eine Login-Seite, die nur E-Mail oder Facebook anbietet, zu sofortigen Reibungsverlusten. WeChat hat 1,38 Milliarden monatlich aktive Nutzer, und die Konfiguration als Identitätsanbieter beseitigt diese Barriere. Dieser Leitfaden erklärt, wie Sie die WeChat-OAuth-2.0-Authentifizierung für Captive Portals implementieren, und beschreibt detailliert die erforderlichen Plattform-Registrierungen, den OAuth-Ablauf sowie die Mechanismen zur Netzwerk-Durchsetzung, die erforderlich sind, um einen erfolgreichen Login in einen Netzwerkzugriff zu übersetzen. Wir behandeln die technische Implementierung auf Enterprise-Hardware und die Compliance-Anforderungen unter GDPR und PIPL.

Technische Architektur

Ein Captive Portal fängt den HTTP-Verkehr von einem nicht authentifizierten Gerät ab und leitet ihn auf eine Login-Seite weiter, die auf einem Portal-Server gehostet wird. Wenn Sie WeChat-OAuth integrieren, binden Sie einen Drittanbieter-Identitätsanbieter in diesen Ablauf ein.

architecture_overview.png

Die Abfolge gestaltet sich wie folgt:

  1. Der Besucher verbindet sich mit der SSID.
  2. Der Access Point oder Wireless-Controller erkennt das Fehlen einer authentifizierten Sitzung und leitet den HTTP-Verkehr an die Captive Portal-URL weiter.
  3. Der Besucher wählt den WeChat-Login.
  4. Der Portal-Server leitet den Browser an den Autorisierungsendpunkt von WeChat (open.weixin.qq.com) weiter und übergibt die AppID, redirect_uri, response_type=code und den scope.
  5. WeChat übernimmt die Authentifizierung. Wenn der Besucher den WeChat-In-App-Browser mit dem Scope snsapi_base verwendet, geschieht dies geräuschlos.
  6. WeChat leitet mit einem temporären Autorisierungscode zurück zur redirect_uri des Portals.
  7. Der Portal-Server tauscht diesen Code gegen ein Access-Token aus, indem er api.weixin.qq.com/sns/oauth2/access_token aufruft.
  8. WeChat gibt ein access_token, ein refresh_token und die openid des Benutzers zurück.

Anforderungen an die Plattform-Registrierung

Die Implementierung des WeChat-Logins erfordert eine Registrierung auf der richtigen Entwicklerplattform. WeChat betreibt zwei verschiedene Plattformen, und die Wahl der falschen Plattform führt zum Scheitern der Integration.

WeChat Official Accounts Platform

Für ein Captive Portal, das Besucher innerhalb des WeChat-In-App-Browsers bedient, benötigen Sie ein Service-Konto auf der Official Accounts Platform (mp.weixin.qq.com). Ein Abonnement-Konto (Subscription Account) verfügt nicht über die erforderlichen Berechtigungen zur OAuth-Webseiten-Autorisierung. Ein Service-Konto unterstützt sowohl den Scope snsapi_base als auch snsapi_userinfo.

WeChat Open Platform

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 Platform registrierte Website-Anwendung (open.weixin.qq.com). Diese verwendet den Scope snsapi_login und zeigt einen QR-Code an, den der Benutzer 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 Portal-Server zurückgibt. Diese Entscheidung beeinflusst sowohl die Reibungsverluste für den Benutzer als auch die Einhaltung des Datenschutzes.

scope_comparison_chart.png

snsapi_base

Dieser Scope gibt nur die OpenID zurück, eine eindeutige Kennung für den Benutzer innerhalb Ihres Official Accounts. Er erfordert kein Zustimmungsfenster für den Benutzer, wodurch die Authentifizierung für den Benutzer unsichtbar bleibt. Dies ist optimal für wiederkehrende Besucher, von denen Sie bereits ein Profil besitzen, oder für Veranstaltungsorte, die eine völlig reibungslose Nutzung der Erfassung neuer Daten vorziehen.

snsapi_userinfo

Dieser Scope gibt die OpenID sowie den WeChat-Spitznamen, das Profilbild, das Geschlecht, die Spracheinstellung und die Stadt des Benutzers zurück. Er erfordert einen expliziten Zustimmungsbildschirm, was eine Hürde darstellt. Verwenden Sie diesen Scope für die Erstregistrierung von Besuchern, wenn die Erstellung eines Profils erforderlich ist, kombiniert mit einer GDPR-konformen Zustimmungsebene.

Integration der Netzwerk-Durchsetzung

Der Erhalt eines OAuth-Tokens beweist zwar die Identität, öffnet aber nicht das Netzwerk. Sie müssen eine erfolgreiche Authentifizierung mithilfe von Standardprotokollen in einen Netzwerkzugriff übersetzen.

RADIUS Change of Authorisation (CoA)

Definiert in IEEE 802.1X und RFC 3576, ermöglicht RADIUS CoA dem Portal-Server, 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 Portal-Server die MAC-Adresse des Geräts als autorisierten Client, und der Controller gibt sie frei. Dies ist zwar einfacher zu implementieren, aber weniger sicher, da MAC-Adressen gefälscht werden können.

Das Cloud-Overlay von Purple automatisiert diese Übersetzung und sendet nach Abschluss des WeChat-OAuth das entsprechende Signal an die zugrunde liegende Hardware (einschließlich Ubiquiti UniFi, Cambium, Extreme und Fortinet).

Compliance- und Sicherheitsüberlegungen

Abstimmung von GDPR und PIPL

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 Frameworks erfordern eine Rechtsgrundlage 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 verhiverhindert Cross-Site-Request-Forgery. Sie müssen einen kryptografisch zufälligen State-Wert generieren, diesen in der Sitzung des Benutzers speichern und validieren, wenn WeChat zurückleitet.

Validierung der Redirect-URI

WeChat validiert die redirect_uri mit der auf der Plattform registrierten autorisierten 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 Artikel Enterprise WiFi Security: Ein umfassender Leitfaden für 2026 .

Schlüsseldefinitionen

snsapi_base

Ein WeChat-OAuth-Scope, der nur die OpenID des Benutzers zurückgibt, ohne eine Einverständniserklärung anzuzeigen.

Wird verwendet, wenn IT-Teams wiederkehrende Besucher geräuschlos authentifizieren möchten, ohne Reibungsverluste beim Login zu verursachen.

snsapi_userinfo

Ein WeChat-OAuth-Scope, der die OpenID zusammen mit demografischen Daten (Spitzname, Geschlecht, Stadt) zurückgibt und die ausdrückliche Zustimmung des Benutzers erfordert.

Wird bei der Erstregistrierung verwendet, wenn Marketingteams ein Besucherprofil erstellen möchten.

OpenID

Eine eindeutige Kennung für einen bestimmten Benutzer innerhalb eines bestimmten WeChat Official Accounts.

Wird als Primärschlüssel in der Portal-Datenbank verwendet, um das Besucherverhalten und wiederkehrende Besuche zu verfolgen.

RADIUS CoA

Change of Authorisation. Ein in RFC 3576 definierter Mechanismus, der es einem Server ermöglicht, den Autorisierungsstatus einer aktiven Sitzung zu ändern.

Wird vom Portal-Server verwendet, um dem Wireless-Controller nach erfolgreicher WeChat-Authentifizierung mitzuteilen, dass der Netzwerkzugriff gewährt werden soll.

PIPL

Personal Information Protection Law. Chinas umfassende Datenschutzverordnung.

Muss neben der GDPR berücksichtigt werden, wenn der Consent-Flow für chinesische Besucher, die den WeChat-Login nutzen, gestaltet wird.

AppID and AppSecret

Die von WeChat bereitgestellten Anmeldedaten zur Identifizierung und Authentifizierung Ihrer Anwendung.

Das AppSecret muss sicher auf dem Portal-Server verbleiben und darf niemals im clientseitigen Code offengelegt werden.

State Parameter

Eine kryptografisch zufällige Zeichenfolge, die in der OAuth-Anfrage übergeben und bei der Rückkehr validiert wird.

Unerlässlich zur Verhinderung von Cross-Site-Request-Forgery-Angriffen (CSRF) auf das Captive Portal.

MAC Address Bypass

Eine Methode zur Gewährung des Netzwerkzugriffs durch Autorisierung der Hardwareadresse des Geräts, anstatt eine 802.1X-Authentifizierung zu erfordern.

Eine Alternative zu RADIUS CoA für einfachere Netzwerkeinrichtungen, wenn auch weniger sicher.

Ausgearbeitete Beispiele

Eine Luxus-Einzelhandelsmarke in London möchte chinesischen Käufern einen WeChat-Login anbieten. Sie möchte demografische Daten erfassen, um ihren Kundenstamm besser zu verstehen, ist jedoch besorgt über die GDPR-Konformität und hohe Absprungraten am Portal.

Der Einzelhändler sollte ein Service-Konto auf der WeChat Official Accounts Platform registrieren. Er muss das Portal so konfigurieren, dass bei der ersten Verbindung der Scope snsapi_userinfo verwendet wird, um demografische Daten (Spitzname, Geschlecht, Stadt) zu erfassen. Um die GDPR-Konformität zu gewährleisten, muss die Portalseite vor der WeChat-Weiterleitung ein klares, bewusstes Opt-in anzeigen, das genau erklärt, welche Daten erfasst werden und warum. Bei wiederkehrenden Käufern sollte das Portal die MAC-Adresse erkennen und snsapi_base für eine stille, reibungslose Re-Authentifizierung nutzen.

Kommentar des Prüfers: Dieser Ansatz hält die Waage zwischen Datenerfassung und Benutzererfahrung. Indem der aufwendigere `snsapi_userinfo`-Ablauf auf den ersten Besuch beschränkt und danach `snsapi_base` verwendet wird, maximiert der Einzelhändler die Conversion und bleibt gleichzeitig konform mit den Grundsätzen der Datenminimierung.

Ein Stadion stellt ein neues WiFi-Netzwerk mit HPE Aruba-Controllern bereit. Sie haben WeChat-OAuth konfiguriert und das Portal empfängt erfolgreich das Access-Token, aber das Gerät des Besuchers bleibt auf der Captive Portal-Seite hängen und kann nicht auf das Internet zugreifen.

Der Integration fehlt ein Mechanismus zur Netzwerk-Durchsetzung. Der Portal-Server hat zwar die Identität des Benutzers über WeChat verifiziert, aber dem HPE Aruba-Controller nicht signalisiert, den Zugriff freizugeben. Der Portal-Server muss so konfiguriert werden, dass er eine RADIUS Change of Authorisation (CoA)-Nachricht an den Controller sendet, um diesen anzuweisen, die MAC-Adresse des Benutzers von der Pre-Authentifizierungsrolle in die authentifizierte Gastrolle zu überführen.

Kommentar des Prüfers: Dies verdeutlicht den Unterschied zwischen Identitätsverifizierung und Netzwerk-Zugriffskontrolle. Unternehmensnetzwerke erfordern ein Protokoll wie RADIUS CoA, um die Lücke zwischen der Webanwendung (Portal) und der Netzwerkinfrastruktur zu schließen.

Übungsfragen

Q1. Sie stellen ein Captive Portal in einer Einzelhandelskette bereit. Tests zeigen, dass Benutzer, die das Portal in Safari unter iOS öffnen, beim Auswählen des WeChat-Logins eine Fehlermeldung erhalten, während Benutzer, die das Portal über einen Link in einer WeChat-Nachricht öffnen, sich erfolgreich authentifizieren. Was ist die wahrscheinliche Ursache?

Hinweis: Berücksichtigen Sie den Unterschied zwischen dem WeChat-In-App-Browser und Standard-Mobilbrowsern.

Musterlösung anzeigen

Die implementierung stützt sich wahrscheinlich ausschließlich auf ein Service-Konto, das auf der Official Accounts Platform registriert ist, welche OAuth nur innerhalb des WeChat-In-App-Browsers unterstützt. Um Safari unter iOS zu unterstützen, müssen Sie auch eine Website-Anwendung auf der WeChat Open Platform registrieren und eine User-Agent-Erkennung implementieren, um Safari-Benutzer zum QR-Code-Ablauf weiterzuleiten.

Q2. Die Protokolle Ihres Portal-Servers zeigen häufige 40029 'invalid code'-Fehler, die während des Access-Token-Austauschs von der WeChat-API zurückgegeben werden. Welche Konfiguration sollten Sie zuerst überprüfen?

Hinweis: Denken Sie darüber nach, wie WeChat die Quelle der Authentifizierungsanfrage validiert.

Musterlösung anzeigen

Sie sollten die Konfiguration der redirect_uri überprüfen. WeChat validiert die Redirect-URI streng gegen die in der Entwicklerkonsole registrierte autorisierte Domain. Wenn das Portal eine andere Subdomain verwendet oder HTTPS nicht nutzt, lehnt WeChat den Code-Austausch ab.

Q3. Ein Veranstaltungsort-Betreiber möchte Besucherdaten erfassen, besteht jedoch auf einem völlig reibungslosen Login-Prozess. Er verlangt, dass Sie den WeChat-Login so konfigurieren, dass der Spitzname und die Stadt des Besuchers erfasst werden, ohne dass ein Zustimmungsfenster angezeigt wird. Wie reagieren Sie?

Hinweis: Überprüfen Sie die Funktionen der verschiedenen OAuth-Scopes.

Musterlösung anzeigen

Sie müssen dem Betreiber mitteilen, dass dies technisch unmöglich ist. Die Erfassung demografischer Daten wie Spitzname und Stadt erfordert den Scope snsapi_userinfo, der zwingend ein WeChat-Zustimmungsfenster auslöst. Um einen völlig reibungslosen Ablauf zu gewährleisten, müssen Sie snsapi_base verwenden, was geräuschlos funktioniert, aber nur die OpenID zurückgibt.

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 →