Passer au contenu principal

Comment configurer l'authentification OAuth WeChat pour les Captive Portals

Ce guide technique explique comment configurer l'authentification OAuth WeChat pour les captive portals. Il détaille les enregistrements de plateforme requis, le flux OAuth 2.0, la sélection de la portée (scope) et les mécanismes d'application réseau nécessaires pour capturer en toute sécurité les données de première partie des visiteurs chinois.

📖 4 min de lecture📝 815 mots🔧 2 exemples concrets3 questions d'entraînement📚 8 définitions clés

Écouter ce guide

Voir la transcription du podcast
COMMENT CONFIGURER L'AUTHENTIFICATION OAUTH WECHAT POUR LES PORTALS CAPTIFS Une fiche technique Purple - Environ 10 minutes --- INTRODUCTION ET CONTEXTE (environ 1 minute) Bienvenue. Si vous êtes responsable du WiFi invité dans un hôtel, une chaîne de magasins, un stade ou un centre de conférence accueillant des visiteurs chinois, cette fiche technique vous est destinée. WeChat compte 1,38 milliard d'utilisateurs actifs mensuels, selon les données 2024 de Tencent. La grande majorité se trouve en Chine, mais la plateforme dispose également d'une empreinte internationale significative : quatre millions d'utilisateurs aux États-Unis, 12 millions en Malaisie, et des chiffres en croissance en Asie du Sud-Est, en Europe et au Moyen-Orient. Lorsqu'un client chinois se connecte à votre WiFi et voit une page de connexion proposant uniquement l'e-mail, Facebook ou un code coupon, il est immédiatement confronté à une friction. Il se peut qu'il n'ait pas d'adresse e-mail locale configurée sur cet appareil. En revanche, il dispose presque certainement de WeChat. La question n'est donc pas de savoir si vous devez proposer la connexion WeChat, mais comment la configurer correctement, de manière sécurisée et afin de générer des données de première partie exploitables. C'est ce que nous allons aborder aujourd'hui. Nous allons détailler le flux OAuth 2.0, les deux enregistrements de plateforme requis, le choix de la portée (scope) qui détermine les données collectées, le mécanisme d'application côté réseau et les considérations de conformité essentielles en 2026. --- ANALYSE TECHNIQUE APPROFONDIE (environ 5 minutes) Commençons par l'architecture. Un Captive Portal intercepte le trafic HTTP d'un appareil non authentifié et le redirige vers une page de connexion. Cette page de connexion est hébergée sur un serveur de portail, soit sur site, soit dans le cloud. Lorsque vous ajoutez l'authentification OAuth WeChat, vous insérez un fournisseur d'identité tiers dans ce flux. Voici la séquence. L'invité se connecte à votre SSID. L'access point ou le contrôleur sans fil détecte que l'appareil n'a pas de session authentifiée et redirige tout le trafic HTTP vers l'URL de votre Captive Portal. La page du portail se charge et présente les options de connexion, y compris WeChat. L'invité appuie sur la connexion WeChat. Votre serveur de portail redirige le navigateur vers le point de terminaison d'autorisation de WeChat à l'adresse open.weixin.qq.com, en transmettant votre AppID, l'URI de redirection, le type de réponse (code) et la portée (scope). WeChat gère l'authentification entièrement sur ses propres serveurs. Si l'invité est déjà connecté à WeChat dans son navigateur, un écran de consentement s'affiche. S'il utilise le navigateur intégré à l'application WeChat, l'expérience peut être transparente avec la portée snsapi_base, sans aucune demande de consentement. WeChat redirige ensuite vers l'URI de redirection de votre portail avec un code d'autorisation temporaire. Votre serveur de portail échange ce code contre un jeton d'accès (access token) en appelant api.weixin.qq.com/sns/oauth2/access_token, en transmettant votre AppID, votre AppSecret, le code et le type d'octroi (grant type) authorization_code. WeChat renvoie un jeton d'accès, un jeton de rafraîchissement (refresh token), l'OpenID de l'utilisateur et la portée accordée. Si vous avez demandé la portée snsapi_userinfo, vous pouvez alors effectuer un second appel API pour récupérer le pseudo, l'avatar, le genre et la ville de l'utilisateur.Passons maintenant aux deux enregistrements de plateforme. C'est là que la plupart des implémentations échouent. WeChat dispose de deux plateformes de développement distinctes. La WeChat Open Platform (open.weixin.qq.com) gère les applications web et les applications mobiles. La WeChat Official Accounts Platform (mp.weixin.qq.com) gère les comptes publics — ce dont la plupart des établissements ont réellement besoin. Pour un Captive Portal destiné aux visiteurs utilisant le navigateur intégré de l'application WeChat, vous avez besoin d'un Service Account sur la plateforme Official Accounts. Un Subscription Account ne fonctionnera pas, car il ne dispose pas des autorisations d'authentification de page web OAuth. Un Service Account en dispose et prend en charge les portées snsapi_base et snsapi_userinfo. Pour un Captive Portal accessible depuis un navigateur mobile standard en dehors de WeChat (Chrome sur Android, Safari sur iOS), vous devez enregistrer une Website Application sur l'Open Platform. Celle-ci utilise la portée snsapi_login et présente un code QR que l'utilisateur scanne avec son application WeChat. En pratique, la plupart des déploiements sur site utilisent les deux. Un visiteur connecté au WiFi d'un hôtel peut ouvrir le portail dans Chrome, voir un code QR, le scanner avec WeChat et s'authentifier. Il peut également suivre un lien directement dans WeChat, arriver sur le navigateur intégré et s'authentifier de manière transparente avec snsapi_base. Abordons maintenant le choix de la portée (scope), car il s'agit d'une décision stratégique. snsapi_base renvoie uniquement l'OpenID, un identifiant unique pour cet utilisateur au sein de votre Official Account. Elle ne nécessite aucune demande de consentement de l'utilisateur. L'authentification est invisible pour ce dernier. C'est la solution idéale pour les visiteurs récurrents dont vous possédez déjà le profil, ou pour les établissements qui souhaitent éliminer toute friction au détriment de la collecte de nouvelles données. snsapi_userinfo renvoie l'OpenID ainsi que le pseudo WeChat de l'utilisateur, sa photo de profil, son genre, ses paramètres de langue et sa ville. Elle nécessite un écran de consentement explicite. L'utilisateur voit s'afficher un message lui demandant s'il autorise votre Official Account à accéder à ses informations. La plupart des utilisateurs acceptent, mais cela ajoute une étape. Le bon choix dépend de votre cas d'usage. Pour l'enregistrement d'un nouveau visiteur dont vous souhaitez créer le profil, utilisez snsapi_userinfo et associez-le à une interface de consentement conforme au GDPR sur votre page de portail. Pour un visiteur récurrent qui a déjà donné son consentement et dont vous possédez déjà le profil, utilisez snsapi_base pour une réauthentification transparente. Enfin, l'aspect contrôle du réseau. L'obtention d'un jeton OAuth prouve l'identité, mais elle n'ouvre pas automatiquement le réseau. Vous devez disposer d'un mécanisme pour convertir une authentification réussie en un accès réseau.Les deux approches standard sont le RADIUS Change of Authorisation (CoA), défini dans la RFC 3576, et le contournement par adresse MAC (MAC address bypass). Avec le RADIUS CoA, votre serveur de portail envoie une requête CoA au contrôleur réseau après la réussite de l'OAuth, et le contrôleur déplace l'appareil du VLAN non authentifié vers le VLAN invité. Cela fonctionne avec Cisco Meraki, HPE Aruba, Ruckus, Juniper Mist et la plupart des contrôleurs de classe entreprise. Avec le contournement MAC, le serveur de portail enregistre l'adresse MAC de l'appareil en tant que client autorisé, et le contrôleur l'autorise. Le contournement MAC est plus simple à implémenter mais moins sécurisé, car les adresses MAC peuvent être usurpées. La plateforme Guest WiFi de Purple gère ces deux mécanismes. Une fois l'OAuth WeChat terminé, l'overlay cloud de Purple envoie le signal approprié au matériel sous-jacent, qu'il s'agisse de Cisco Meraki, HPE Aruba, Ruckus, Juniper Mist, Ubiquiti UniFi, Cambium, Extreme ou Fortinet. L'opérateur du site n'a pas besoin de gérer cette traduction manuellement. --- RECOMMANDATIONS D'IMPLÉMENTATION ET PIÈGES À ÉVITER (environ 2 minutes) Voici les cinq facteurs qui provoquent l'échec des implémentations de Captive Portal avec OAuth WeChat. Premièrement : l'incohérence de l'URI de redirection. WeChat valide l'URI de redirection par rapport au domaine autorisé que vous avez enregistré sur la plateforme. Si votre serveur de portail utilise un sous-domaine différent, un chemin différent ou du HTTP au lieu du HTTPS, le flux OAuth échoue avec l'erreur 40029 - code invalide. Enregistrez chaque variante de domaine que vous utilisez, y compris les environnements de staging. Deuxièmement : l'AppSecret côté client. Votre AppSecret ne doit jamais apparaître dans le JavaScript côté client ni dans le binaire d'une application mobile. Sa place est sur votre serveur. S'il est exposé, n'importe qui peut usurper l'identité de votre application et appeler les API de WeChat en votre nom. Troisièmement : l'absence de protection CSRF. Le paramètre d'état (state) dans la requête OAuth existe spécifiquement pour empêcher la falsification de requête intersite (CSRF). Générez une valeur d'état aléatoire de manière cryptographique, stockez-la dans la session de l'utilisateur et validez-la lorsque WeChat redirige l'utilisateur. Si vous ignorez cette étape, vous vous exposez à une réelle vulnérabilité. Quatrièmement : le défaut de détection du navigateur intégré (in-app). Le navigateur intégré de WeChat définit une chaîne d'agent utilisateur (user agent) spécifique contenant "MicroMessenger". Si votre portail ne détecte pas cela et ne propose pas le flux OAuth correct (flux Official Account pour le navigateur intégré, flux QR Open Platform pour les navigateurs standards), les utilisateurs se retrouveront face à une expérience dysfonctionnelle ou à une erreur. Cinquièmement : l'alignement avec le GDPR et la PIPL. Si vous accueillez des visiteurs européens, le GDPR s'applique aux données que vous collectez via l'OAuth WeChat. Si vous accueillez des visiteurs chinois, la loi chinoise sur la protection des informations personnelles (PIPL) s'applique à la manière dont vous traitez leurs données. Les deux réglementations exigent une base légale pour le traitement, une limitation claire des finalités et la minimisation des données. Le paramètre snsapi_base est plus facile à justifier au titre des principes de minimisation des données que snsapi_userinfo. Quel que soit votre choix de collecte, documentez votre base légale et votre durée de conservation. --- QUESTIONS-RÉPONSES RAPIDES (environ 1 minute) Question : Puis-je utiliser la connexion WeChat sur un portail qui propose également la connexion par e-mail et par SMS ? Oui. La plupart des plateformes de portail d'entreprise, y compris Purple, prennent en charge plusieurs méthodes d'authentification sur la même page de portail. WeChat apparaît comme une option parmi d'autres. Question : L'OAuth WeChat fonctionne-t-il sur iOS ? Oui, mais avec une nuance. Le framework App Tracking Transparency d'Apple n'affecte pas les flux OAuth côté serveur. La connexion WeChat dans Safari sur iOS fonctionne via le flux de code QR ou le flux de redirection. L'application WeChat elle-même gère l'authentification. Question : Que se passe-t-il si l'API de WeChat est indisponible ? Votre portail doit implémenter une solution de repli. Si l'appel de l'API WeChat expire ou renvoie une erreur, redirigez l'utilisateur vers une autre méthode de connexion. Ne le laissez pas devant un écran vide. Question : Puis-je utiliser l'OpenID comme identifiant client persistant ? Au sein de votre compte officiel, oui. L'OpenID est stable pour un utilisateur donné et un compte officiel donné. Si vous possédez plusieurs comptes officiels, le même utilisateur aura des OpenID différents pour chacun d'eux. Pour la résolution d'identité multi-comptes, WeChat fournit un UnionID, ce qui nécessite que vos comptes soient liés sur la plateforme ouverte. --- RÉSUMÉ ET PROCHAINES ÉTAPES (environ 1 minute) En résumé. L'authentification OAuth WeChat pour les portails captifs est un exercice d'enregistrement sur deux plateformes, une décision de portée (scope), une intégration de l'application du réseau et un examen de la conformité. Réussissez ces quatre étapes et vous disposerez d'une méthode de connexion qui dessert plus d'un milliard de visiteurs potentiels sans aucune friction liée aux mots de passe. Les prochaines étapes pratiques sont les suivantes. Tout d'abord, déterminez si vos visiteurs accèdent au portail depuis le navigateur intégré de WeChat ou depuis un navigateur mobile standard ; cela détermine l'enregistrement de plateforme dont vous avez besoin. Deuxièmement, décidez de la portée (scope) : snsapi_base pour les clients récurrents, snsapi_userinfo pour un premier enregistrement avec consentement. Troisièmement, confirmez que votre matériel réseau prend en charge RADIUS CoA ou configurez le contournement MAC comme alternative. Quatrièmement, examinez votre avis de confidentialité et votre flux de consentement par rapport aux exigences du GDPR et de la PIPL. Cinquièmement, testez l'URI de redirection, la validation du paramètre d'état et la détection du navigateur intégré à l'application avant de lancer la mise en production. Si vous souhaitez découvrir comment Purple gère l'OAuth WeChat dans le cadre d'une plateforme plus large de Guest WiFi et d'analyse — sur 80 000 sites et 440 millions de connexions en 2024 — visitez purple.ai ou contactez votre équipe de compte. Merci pour votre écoute. --- FIN DU SCRIPT

header_image.png

Résumé exécutif

Lorsque les visiteurs chinois se connectent à votre WiFi, leur présenter une page de connexion contenant uniquement un e-mail ou Facebook crée une friction immédiate. WeChat compte 1,38 milliard d'utilisateurs actifs mensuels, et le configurer comme fournisseur d'identité élimine cet obstacle. Ce guide explique comment implémenter l'authentification WeChat OAuth 2.0 pour les Captive Portals, en détaillant les enregistrements de plateforme nécessaires, le flux OAuth et les mécanismes d'application réseau requis pour traduire une connexion réussie en un accès réseau. Nous couvrons l'implémentation technique sur le matériel d'entreprise et les exigences de conformité dans le cadre du GDPR et de la PIPL.

Architecture technique

Un Captive Portal intercepte le trafic HTTP d'un appareil non authentifié et le redirige vers une page de connexion hébergée sur un serveur de portail. Lorsque vous intégrez WeChat OAuth, vous insérez un fournisseur d'identité tiers dans ce flux.

architecture_overview.png

La séquence fonctionne comme suit :

  1. Le visiteur se connecte au SSID.
  2. Le point d'accès ou le contrôleur sans fil détecte l'absence de session authentifiée et redirige le trafic HTTP vers l'URL du Captive Portal.
  3. Le visiteur sélectionne la connexion WeChat.
  4. Le serveur du portail redirige le navigateur vers le point de terminaison d'autorisation de WeChat (open.weixin.qq.com), en transmettant l'AppID, le redirect_uri, le response_type=code et le scope.
  5. WeChat gère l'authentification. Si le visiteur utilise le navigateur intégré de WeChat avec le scope snsapi_base, cela se produit de manière transparente.
  6. WeChat redirige à nouveau vers le redirect_uri du portail avec un code d'autorisation temporaire.
  7. Le serveur du portail échange ce code contre un jeton d'accès en appelant api.weixin.qq.com/sns/oauth2/access_token.
  8. WeChat renvoie un access_token, un refresh_token et l'openid de l'utilisateur.

Exigences d'enregistrement de la plateforme

L'implémentation de la connexion WeChat nécessite un enregistrement sur la bonne plateforme de développement. WeChat exploite deux plateformes distinctes, et le choix de la mauvaise entraîne l'échec de l'intégration.

Plateforme WeChat Official Accounts

Pour un Captive Portal desservant les visiteurs à l'intérieur du navigateur intégré de WeChat, vous devez disposer d'un compte de service (Service Account) sur la plateforme Official Accounts (mp.weixin.qq.com). Un compte d'abonnement (Subscription Account) ne dispose pas des autorisations d'autorisation de page web OAuth nécessaires. Un compte de service prend en charge les scopes snsapi_base et snsapi_userinfo.

WeChat Open Platform

Pour un Captive Portal accédé depuis un navigateur mobile standard en dehors de WeChat (comme Chrome sur Android ou Safari sur iOS), vous devez enregistrer une application de site Web sur la Open Platform (open.weixin.qq.com). Celle-ci utilise le scope snsapi_login et présente un code QR que l'utilisateur scanne avec son application WeChat.

La plupart des déploiements d'entreprise nécessitent les deux enregistrements afin de couvrir toutes les méthodes d'accès.

Sélection du Scope et Collecte de Données

Le paramètre de scope détermine les données que WeChat renvoie à votre serveur de portail. Cette décision a un impact à la fois sur la friction utilisateur et sur la conformité en matière de confidentialité des données.

scope_comparison_chart.png

snsapi_base

Ce scope renvoie uniquement l'OpenID, un identifiant unique pour l'utilisateur au sein de votre compte officiel. Il ne nécessite aucune demande de consentement de l'utilisateur, ce qui rend l'authentification invisible pour ce dernier. C'est la solution idéale pour les visiteurs récurrents pour lesquels vous possédez déjà un profil, ou pour les établissements qui privilégient une friction nulle plutôt que la collecte de nouvelles données.

snsapi_userinfo

Ce scope renvoie l'OpenID ainsi que le pseudo WeChat de l'utilisateur, sa photo de profil, son genre, ses paramètres de langue et sa ville. Il nécessite un écran de consentement explicite, ce qui introduit de la friction. Utilisez cette option pour l'enregistrement des nouveaux visiteurs lorsqu'il est nécessaire de créer un profil, en l'associant à une couche de consentement conforme au GDPR.

Intégration de l'Application des Règles Réseau

L'obtention d'un jeton OAuth prouve l'identité, mais elle n'ouvre pas le réseau. Vous devez traduire une authentification réussie en un accès réseau à l'aide de protocoles standards.

RADIUS Change of Authorisation (CoA)

Défini dans les normes IEEE 802.1X et RFC 3576, le RADIUS CoA permet au serveur du portail d'envoyer une requête au contrôleur réseau après un OAuth réussi. Le contrôleur déplace ensuite l'appareil du VLAN non authentifié vers le VLAN invité. C'est la norme pour le matériel d'entreprise, notamment Cisco Meraki, HPE Aruba, Ruckus et Juniper Mist.

MAC Address Bypass

Alternativement, le serveur du portail enregistre l'adresse MAC de l'appareil en tant que client autorisé, et le contrôleur l'autorise. Bien que plus simple à mettre en œuvre, cette méthode est moins sécurisée car les adresses MAC peuvent être usurpées.

L'overlay cloud de Purple automatise cette traduction, en envoyant le signal approprié au matériel sous-jacent (notamment Ubiquiti UniFi, Cambium, Extreme et Fortinet) une fois le processus WeChat OAuth terminé.

Considérations de Conformité et de Sécurité

Alignement GDPR et PIPL

Si vous accueillez des visiteurs européens, le GDPR s'applique aux données collectées via WeChat OAuth. Si vous accueillez des visiteurs chinois, la loi chinoise sur la protection des informations personnelles (PIPL) s'applique. Les deux cadres exigent une base légale pour le traitement, une limitation claire des finalités et la minimisation des données. Le scope snsapi_base s'aligne plus facilement sur les principes de minimisation des données que le scope snsapi_userinfo.

Protection CSRF

Le paramètre state dans la requête OAuth empêche la falsification de requêtes intersites. Vous devez générer une valeur d'état aléatoire de manière cryptographique, la stocker dans la session de l'utilisateur et la valider lorsque WeChat redirige l'utilisateur.

Validation de l'URI de redirection

WeChat valide le redirect_uri par rapport au domaine autorisé enregistré sur la plateforme. Si votre serveur de Captive Portal utilise un sous-domaine, un chemin ou un protocole HTTP différent au lieu de HTTPS, le flux OAuth échoue avec l'erreur 40029.

Pour plus d'informations sur la sécurisation de votre réseau, consultez notre Enterprise WiFi Security: A Complete Guide for 2026 .

Définitions clés

snsapi_base

Une portée OAuth WeChat qui renvoie uniquement l'OpenID de l'utilisateur sans afficher de demande de consentement.

Utilisé lorsque les équipes informatiques doivent authentifier silencieusement les visiteurs récurrents sans créer de friction lors de la connexion.

snsapi_userinfo

Une portée OAuth WeChat qui renvoie l'OpenID ainsi que des données démographiques (pseudo, genre, ville) et nécessite le consentement explicite de l'utilisateur.

Utilisé lors de la première inscription lorsque les équipes marketing doivent créer un profil de visiteur.

OpenID

Un identifiant unique pour un utilisateur spécifique au sein d'un compte officiel WeChat spécifique.

Utilisé comme clé primaire dans la base de données du Captive Portal pour suivre le comportement des visiteurs et les visites récurrentes.

RADIUS CoA

Change of Authorisation. Un mécanisme défini dans la norme RFC 3576 qui permet à un serveur de modifier l'état d'autorisation d'une session active.

Utilisé par le serveur du Captive Portal pour indiquer au contrôleur sans fil d'accorder l'accès au réseau après une authentification WeChat réussie.

PIPL

Personal Information Protection Law. La réglementation complète de la Chine sur la confidentialité des données.

Doit être pris en compte aux côtés du GDPR lors de la conception du flux de consentement pour les visiteurs chinois utilisant la connexion WeChat.

AppID and AppSecret

Les identifiants fournis par WeChat pour identifier et authentifier votre application.

L'AppSecret doit rester sécurisé sur le serveur du Captive Portal et ne jamais être exposé dans le code côté client.

State Parameter

Une chaîne de caractères aléatoire générée par cryptographie, transmise dans la requête OAuth et validée lors du retour.

Indispensable pour prévenir les attaques de type Cross-Site Request Forgery (CSRF) sur le Captive Portal.

MAC Address Bypass

Une méthode d'octroi d'accès au réseau en autorisant l'adresse matérielle de l'appareil plutôt qu'en exigeant une authentification 802.1X.

Une alternative au RADIUS CoA pour les configurations réseau plus simples, bien que moins sécurisée.

Exemples concrets

Une marque de vente au détail de luxe à Londres souhaite proposer la connexion WeChat aux acheteurs chinois. Elle souhaite collecter des données démographiques pour comprendre sa clientèle, mais s'inquiète de la conformité au GDPR et des taux d'abandon élevés sur le portail.

Le détaillant doit enregistrer un compte de service sur la plateforme WeChat Official Accounts. Il doit configurer le portail pour utiliser la portée snsapi_userinfo lors des premières connexions afin de recueillir des données démographiques (pseudo, sexe, ville). Pour garantir la conformité au GDPR, la page du portail doit afficher un consentement explicite et éclairé avant la redirection vers WeChat, expliquant précisément quelles données sont collectées et pourquoi. Pour les acheteurs de retour, le portail doit détecter l'adresse MAC et utiliser snsapi_base pour une réauthentification silencieuse, minimisant ainsi les frictions.

Commentaire de l'examinateur : Cette approche équilibre la collecte de données et l'expérience utilisateur. En limitant le flux `snsapi_userinfo` à forte friction à la première visite et en utilisant ensuite `snsapi_base`, le détaillant maximise la conversion tout en restant conforme aux principes de minimisation des données.

Un stade déploie un nouveau réseau WiFi à l'aide de contrôleurs HPE Aruba. Ils ont configuré OAuth WeChat, et le portail reçoit avec succès le jeton d'accès, mais l'appareil du visiteur reste bloqué sur la page du captive portal et ne peut pas accéder à Internet.

L'intégration manque d'un mécanisme d'application réseau. Le serveur du portail a vérifié l'identité de l'utilisateur auprès de WeChat, mais il n'a pas ordonné au contrôleur HPE Aruba d'autoriser l'accès. Le serveur du portail doit être configuré pour envoyer un message RADIUS Change of Authorisation (CoA) au contrôleur, lui demandant de faire passer l'adresse MAC de l'utilisateur du rôle de pré-authentification au rôle d'invité authentifié.

Commentaire de l'examinateur : Cela met en évidence la distinction entre la vérification d'identité et le contrôle d'accès au réseau. Les réseaux d'entreprise nécessitent un protocole tel que RADIUS CoA pour faire le pont entre l'application web (portail) et l'infrastructure réseau.

Questions d'entraînement

Q1. Vous déployez un Captive Portal au sein d'une chaîne de magasins. Les tests montrent que les utilisateurs ouvrant le portail dans Safari sur iOS reçoivent une erreur lors de la sélection de la connexion WeChat, mais que les utilisateurs ouvrant le portail depuis un lien de message WeChat s'authentifient avec succès. Quelle est la cause probable ?

Conseil : Considérez la différence entre le navigateur intégré de WeChat et les navigateurs mobiles standard.

Voir la réponse type

L'implémentation repose probablement uniquement sur un compte de service (Service Account) enregistré sur la plateforme Official Accounts, qui ne prend en charge OAuth que dans le navigateur intégré de WeChat. Pour prendre en charge Safari sur iOS, vous devez également enregistrer une application de site Web (Website Application) sur la plateforme WeChat Open et implémenter la détection de l'agent utilisateur (user agent) pour diriger les utilisateurs de Safari vers le flux de code QR.

Q2. Les journaux de votre serveur de portail affichent de fréquentes erreurs 40029 "invalid code" renvoyées par l'API WeChat lors de l'échange de jetons d'accès. Quelle configuration devez-vous vérifier en premier ?

Conseil : Pensez à la manière dont WeChat valide la source de la demande d'authentification.

Voir la réponse type

Vous devez vérifier la configuration de l'URI de redirection (redirect_uri). WeChat valide strictement l'URI de redirection par rapport au domaine autorisé enregistré dans la console développeur. Si le portail utilise un sous-domaine différent, ou s'il abandonne le protocole HTTPS, WeChat rejettera l'échange de code.

Q3. Un exploitant de site souhaite collecter les données des visiteurs mais insiste sur un processus de connexion sans aucune friction. Il vous demande de configurer la connexion WeChat pour collecter le pseudo et la ville du visiteur sans afficher de demande de consentement. Que répondez-vous ?

Conseil : Passez en revue les capacités des différents scopes OAuth.

Voir la réponse type

Vous devez informer l'exploitant que cela est techniquement impossible. La collecte de données démographiques telles que le pseudo et la ville nécessite le scope snsapi_userinfo, qui déclenche obligatoirement une demande de consentement WeChat. Pour obtenir une friction nulle, vous devez utiliser snsapi_base, qui fonctionne de manière transparente mais ne renvoie que l'OpenID.

Continuer la lecture de cette série

How to Set Up a Captive Portal on Starlink: A Guide for Remote & Maritime Venues

Ce guide explique comment contourner le matériel Starlink natif et intégrer un Captive Portal géré dans le cloud à l'aide d'équipements de routage d'entreprise. Vous apprendrez à surmonter la limitation du CGNAT, à appliquer la segmentation VLAN, à gérer les contraintes de bande passante par satellite et à garantir la conformité réglementaire.

Lire le guide →

Bonnes pratiques du Captive Portal : conception pour une conversion élevée et la conformité

Ce guide technique offre aux responsables informatiques, architectes réseau et directeurs d'exploitation de sites un plan complet pour déployer des captive portals équilibrant sécurité réseau et taux de conversion élevé. Il couvre l'ensemble de l'architecture, de la segmentation VLAN et l'authentification RADIUS à la conception de consentements conformes au GDPR et à la sélection des méthodes d'authentification. Issu de l'expérience opérationnelle de Purple sur plus de 80 000 sites et 440 millions de connexions en 2024, chaque recommandation est ancrée dans des données de déploiement réelles.

Lire le guide →

Comment optimiser les Captive Portals pour une sécurité réseau maximale et une conversion utilisateur optimale

Ce guide fournit un plan technique complet pour optimiser les Captive Portals au sein des entreprises, couvrant l'architecture de segmentation réseau, la sélection des méthodes d'authentification, la conception de formulaires de consentement conformes au GDPR et l'optimisation de la conversion. Il s'adresse aux responsables informatiques, architectes réseau et CTO d'hôtels, de chaînes de magasins, de stades et d'organisations du secteur public qui doivent concilier la sécurité réseau et la collecte de données de première partie. Purple gère l'infrastructure de Captive Portals de plus de 80 000 sites avec 440 millions de connexions en 2024, et les cadres présentés ici reflètent cette expérience opérationnelle.

Lire le guide →
Comment configurer l'authentification OAuth WeChat pour les Captive Portals | Guides techniques | Purple