Passer au contenu principal

Comment configurer l'authentification OAuth WeChat pour les portails captifs

Ce guide technique explique comment configurer l'authentification OAuth WeChat pour les portails captifs. Il détaille les enregistrements de plate-forme requis, le flux OAuth 2.0, la sélection de la portée 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 de Purple - Environ 10 Minutes --- INTRODUCTION ET CONTEXTE (environ 1 minute) Bienvenue. Si vous êtes responsable du WiFi pour invités dans un hôtel, une chaîne de vente au détail, 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 de Tencent pour 2024. 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 dans toute l'Asie du Sud-Est, l'Europe et le Moyen-Orient. Lorsqu'un visiteur chinois se connecte à votre WiFi et voit une page de connexion proposant uniquement l'e-mail, Facebook ou un code de bon d'achat, il est confronté à un obstacle immédiat. 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 plutôt comment la configurer correctement, de manière sécurisée et afin de générer des données de première partie que vous pouvez réellement utiliser. C'est ce que nous allons aborder aujourd'hui. Nous allons passer en revue le flux OAuth 2.0, les deux enregistrements de plateforme nécessaires, le choix de la portée qui détermine les données que vous collectez, le mécanisme d'application côté réseau et les considérations de conformité importantes en 2026. --- ZOOM TECHNIQUE (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 WeChat OAuth, vous insérez un fournisseur d'identité tiers dans ce flux. Voici la séquence. L'invité se connecte à votre SSID. Le point d'accès 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. WeChat gère l'authentification entièrement sur ses propres serveurs. Si l'invité est déjà connecté à WeChat dans son navigateur, il voit un écran de consentement. S'il utilise le navigateur intégré à l'application WeChat, l'expérience peut être transparente avec la portée snsapi_base - sans aucun écran 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 en appelant api.weixin.qq.com/sns/oauth2/access_token, en transmettant votre AppID, AppSecret, le code et le type d'attribution d'authorization_code. WeChat renvoie un jeton d'accès, un jeton de rafraîchissement, 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.Maintenant, les deux enregistrements de plateforme. C'est ici que la plupart des implémentations échouent. WeChat dispose de deux plateformes de développement distinctes. La WeChat Open Platform sur open.weixin.qq.com gère les applications de sites web et les applications mobiles. La WeChat Official Accounts Platform sur 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 invités via le navigateur intégré de WeChat, vous avez besoin d'un compte de service (Service Account) sur la Official Accounts Platform. Un compte d'abonnement (Subscription Account) ne fonctionnera pas - il ne dispose pas des autorisations d'autorisation de page web OAuth. Un compte de service les possède 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 avez besoin d'une application de site web enregistrée 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 invité sur le WiFi d'un hôtel peut ouvrir le portail dans Chrome, voir un code QR, le scanner avec WeChat et s'authentifier. Ou il peut suivre un lien dans WeChat lui-même, atterrir dans le navigateur intégré et s'authentifier silencieusement avec snsapi_base. Parlons du choix de la portée, car c'est un véritable point de décision. snsapi_base renvoie uniquement l'OpenID - un identifiant unique pour cet utilisateur au sein de votre compte officiel. Il ne nécessite aucune demande de consentement de l'utilisateur. L'authentification est invisible pour l'utilisateur. C'est l'idéal pour les invités récurrents dont vous avez déjà établi le profil, ou pour les établissements où vous souhaitez une friction nulle au prix de zéro nouvelle donnée. snsapi_userinfo renvoie l'OpenID plus le pseudonyme 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. L'utilisateur voit une invite lui demandant s'il autorise votre compte officiel à accéder à ses informations. La plupart des utilisateurs acceptent, mais cela crée une friction. Le bon choix dépend de votre cas d'usage. Pour l'enregistrement d'un nouvel invité dont vous souhaitez créer le profil, utilisez snsapi_userinfo et associez-le à une couche de consentement conforme au GDPR sur votre page de portail. Pour un invité 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 silencieuse. Maintenant, passons à l'application réseau. L'obtention d'un jeton OAuth prouve l'identité, mais n'ouvre pas automatiquement le réseau. Vous avez besoin d'un mécanisme pour traduire une authentification réussie en accès réseau. Les deux approches standard sont le RADIUS Change of Authorisation (CoA), défini dans la RFC 3576, et le contournement d'adresse MAC (MAC bypass). Avec RADIUS CoA, votre serveur de portail envoie une requête CoA au contrôleur réseau après une authentification OAuth réussie, 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 à mettre en œuvre mais moins sécurisé, car les adresses MAC peuvent être usurpées. La plateforme Guest WiFi de Purple prend en charge ces deux mécanismes. Une fois l'authentification OAuth WeChat terminée, 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 Networks ou Fortinet. L'exploitant du site n'a pas besoin de gérer cette traduction manuellement. - - - RECOMMANDATIONS DE MISE EN ŒUVRE ET PIÈGES À ÉVITER (environ 2 minutes) Voici les cinq facteurs qui provoquent l'échec des implémentations de portails captifs avec authentification OAuth WeChat. Premier point : 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 HTTP au lieu de 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ème point : l'AppSecret côté client. Votre AppSecret ne doit jamais apparaître dans le JavaScript côté client ou 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ème point : 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êtes intersites. 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. Ignorez cette étape et vous aurez une véritable vulnérabilité. Quatrième point : l'absence de détection du navigateur intégré. Le navigateur intégré de WeChat définit une chaîne d'agent utilisateur spécifique contenant "MicroMessenger". Si votre portail ne détecte pas cela et ne propose pas le bon flux OAuth - le flux Official Account pour le navigateur intégré, le flux QR Open Platform pour les navigateurs standard - les utilisateurs se retrouveront face à une expérience dégradée ou une erreur. Cinquième point : la conformité GDPR et PIPL. Si vous accueillez des visiteurs européens, le GDPR s'applique aux données que vous collectez via l'authentification 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. snsapi_base est plus facile à justifier selon les principes de minimisation des données que snsapi_userinfo. Quel que soit votre choix de collecte, documentez votre base juridique 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 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'authentification WeChat OAuth fonctionne-t-elle 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 mettre en œuvre une solution de repli. Si l'appel API WeChat expire ou renvoie une erreur, redirigez l'utilisateur vers une méthode de connexion alternative. Ne le laissez pas devant un écran vide. Question : Puis-je utiliser l'OpenID comme identifiant client persistant ? Au sein de votre compte officiel (Official Account), 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 l'Open Platform. - RÉSUMÉ ET PROCHAINES ÉTAPES (environ 1 minute) Pour résumer. L'authentification WeChat OAuth pour les Captive Portals est un exercice d'enregistrement sur deux plateformes, une décision de portée (scope), une intégration d'application réseau et un examen de conformité. Maîtrisez ces quatre aspects et vous disposerez d'une méthode de connexion qui s'adresse à plus d'un milliard de visiteurs potentiels sans aucune friction liée aux mots de passe. Les étapes pratiques suivantes sont les suivantes. Tout d'abord, déterminez si vos visiteurs accèdent au portail depuis le navigateur intégré à l'application 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 - snsapi_base pour les clients récurrents, snsapi_userinfo pour un premier enregistrement avec consentement. Troisièmement, confirmez que votre équipement réseau prend en charge le RADIUS CoA ou configurez le bypass MAC comme alternative. Quatrièmement, examinez votre politique de confidentialité et votre flux de consentement au regard des exigences du GDPR et de la PIPL. Cinquièmement, testez l'URI de redirection, la validation du paramètre d'état (state) et la détection du navigateur intégré à l'application avant de déployer. Si vous souhaitez voir comment Purple gère le WeChat OAuth dans le cadre d'une plateforme plus large de WiFi invité et d'analyses - sur 80 000 sites et 440 millions de connexions en 2024 - visitez purple.ai ou contactez votre équipe commerciale. Merci pour votre écoute. - FIN DU SCRIPT

header_image.png

Synthèse

Lorsque des visiteurs chinois se connectent à votre WiFi, leur présenter une page de splash de connexion avec uniquement des options d'adresse e-mail ou Facebook crée une barrière immédiate à l'entrée. Avec ses 1,38 milliard d'utilisateurs actifs mensuels, la configuration de WeChat en tant que fournisseur d'identité élimine cette friction. Ce guide montre comment implémenter l'authentification WeChat OAuth 2.0 pour les Captive Portals, en détaillant les inscriptions de plateforme nécessaires, les flux OAuth et les mécanismes d'application réseau requis pour traduire une connexion réussie en un accès réseau. Nous couvrirons l'implémentation technique pour le matériel d'entreprise, ainsi que les exigences de conformité selon le GDPR et la PIPL.

Architecture Technique

Le Captive Portal intercepte le trafic HTTP des appareils non authentifiés et les redirige vers une page de splash hébergée sur un serveur de portail. Lorsque vous intégrez l'authentification WeChat OAuth, vous insérez un fournisseur d'identité tiers dans ce flux.

architecture_overview.png

Voici l'interaction étape par étape exacte :

  1. Le visiteur se connecte au SSID.
  2. Le point d'accès (AP) sans fil 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 de portail redirige le navigateur vers le point de terminaison d'autorisation de WeChat (open.weixin.qq.com), en transmettant l'AppID, le redirect_uri, response_type=code et le scope.
  5. WeChat gère l'authentification. Si le visiteur se trouve dans le navigateur intégré de WeChat en utilisant le scope snsapi_base, cela se produit de manière transparente.
  6. WeChat redirige à nouveau vers l'URL redirect_uri du portail avec un code d'autorisation temporaire.
  7. Le serveur de portail échange ce code contre un jeton d'accès en appelant api.weixin.qq.com/sns/oauth2/access_token.
  8. WeChat renvoie l'access_token, le refresh_token et l'openid de l'utilisateur.

Exigences d'Inscription sur la Plateforme

L'implémentation de la connexion WeChat nécessite une inscription sur la bonne plateforme de développement. WeChat gère deux plateformes distinctes, et choisir la mauvaise entraînera l'échec de l'intégration.

WeChat Official Accounts Platform

Pour les Captive Portals affichés dans le navigateur intégré de WeChat, vous devez disposer d'un compte de service enregistré sur la plateforme officielle WeChat Official Accounts (mp.weixin.qq.com). Les comptes d'abonnement ne disposent pas des autorisations de page web OAuth requises. Les comptes de service prennent en charge les champs d'application snsapi_base et snsapi_userinfo.

WeChat Open Platform

Pour les Captive Portals consultés depuis des navigateurs mobiles standard en dehors de WeChat (par exemple, Chrome sur Android ou Safari sur iOS), vous devez enregistrer une application de site Web sur la plateforme Open Platform (open.weixin.qq.com). Celle-ci utilise le champ d'application snsapi_login et affiche un code QR que l'utilisateur doit scanner avec son application WeChat.

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

Sélection du champ d'application (Scope) et collecte de données

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

scope_comparison_chart.png

snsapi_base

Ce champ d'application renvoie uniquement l'OpenID, l'identifiant unique de l'utilisateur au sein de votre compte officiel. Il ne nécessite aucune invite d'autorisation de l'utilisateur, ce qui rend l'authentification transparente. C'est la solution idéale pour les visiteurs récurrents pour lesquels vous possédez déjà un profil, ou pour les sites qui privilégient une expérience sans friction plutôt que la collecte de nouvelles données.

snsapi_userinfo

Ce champ d'application 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 une page d'autorisation explicite, ce qui ajoute une étape pour l'utilisateur. Utilisez cette option pour l'enregistrement d'un nouveau visiteur lorsqu'il est nécessaire de créer un profil, associée à une couche de consentement conforme au GDPR.

Intégration du contrôle d'accès réseau

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

RADIUS Change of Authorization (CoA)

Défini dans la norme IEEE 802.1X et la RFC 3576, le RADIUS CoA permet au serveur du portail d'envoyer une requête au contrôleur réseau suite à une authentification OAuth réussie. Le contrôleur bascule ensuite l'appareil d'un VLAN non authentifié vers un 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 autorise l'accès. Bien que plus simple à mettre en œuvre, cette méthode est moins sécurisée car les adresses MAC peuvent être usurpées.

La technologie cloud de Purple automatise ce transfert, en envoyant les signaux appropriés au matériel sous-jacent (notamment Ubiquiti UniFi, Cambium, Extreme et Fortinet) une fois l'authentification WeChat OAuth validée.

Conformité et considérations de sécurité

Alignement avec le GDPR et la 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 que le traitement repose sur une base légale, une limitation explicite des finalités et une minimisation des données. Par rapport à la portée snsapi_userinfo, la portée snsapi_base est plus facile à aligner avec les principes de minimisation des données.

Protection CSRF

Le paramètre state dans les requêtes OAuth empêche les attaques par falsification de requête intersite. 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 le serveur de votre portail utilise un sous-domaine ou un chemin d'accès différent, ou s'il utilise HTTP au lieu de HTTPS, le flux OAuth échouera avec l'erreur 40029.

Pour plus d'informations sur la sécurisation de votre réseau, consultez notre Sécurité WiFi d'entreprise : un guide complet pour 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 les visiteurs de retour de manière invisible sans provoquer de friction de connexion.

snsapi_userinfo

Une portée OAuth WeChat qui renvoie l'OpenID ainsi que des données démographiques (pseudo, sexe, 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 WeChat Official Account spécifique.

Utilisé comme clé primaire dans la base de données du portail pour suivre le comportement des visiteurs et les visites de retour.

RADIUS CoA

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

Utilisé par le serveur du portail 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 chinoise complète 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 portail et ne jamais être exposé dans le code côté client.

State Parameter

Une chaîne de caractères cryptographiquement aléatoire 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 à 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 (Service Account) sur la plate-forme 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 choix d'adhésion clair et conscient avant la redirection vers WeChat, expliquant exactement 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 transparente, 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 à forte friction `snsapi_userinfo` à la première visite et en utilisant `snsapi_base` par la suite, 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 utilisant des contrôleurs HPE Aruba. Ils ont configuré WeChat OAuth, 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 avec WeChat, mais il n'a pas donné l'ordre au contrôleur HPE Aruba d'accorder 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 combler le fossé entre l'application web (portail) et l'infrastructure réseau.

Questions d'entraînement

Q1. Vous déployez un Captive Portal dans une chaîne de magasins. Les tests montrent que les utilisateurs qui ouvrent le portail dans Safari sur iOS reçoivent une erreur en sélectionnant 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 enregistré sur la plateforme de comptes officiels, qui ne prend en charge l'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 sur la plateforme ouverte de WeChat et implémenter la détection de l'agent utilisateur 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 "code non valide" provenant de l'API WeChat lors de l'échange de jetons d'accès. Quelle configuration devez-vous vérifier en premier ?

Conseil : Pensez à la façon dont WeChat valide la source de la demande d'authentification.

Voir la réponse type

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

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

Conseil : Examinez les capacités des différents champs d'application OAuth (scopes).

Voir la réponse type

Vous devez informer l'exploitant que cela est techniquement impossible. La collecte de données démographiques comme 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 silencieuse mais ne renvoie que l'OpenID.