Maison >développement back-end >tutoriel php >PHP implémente le développement de l'autorisation de connexion à la page Web WeChat
Cet article présente principalement la mise en œuvre du développement d'autorisations de connexion aux pages Web WeChat avec PHP. Il a une certaine valeur de référence. Maintenant, je le partage avec tout le monde. Les amis dans le besoin peuvent s'y référer
WeChat ouvert. plate-forme et le public Différences entre les plates-formes
1. Les plates-formes publiques sont destinées aux utilisateurs ordinaires, tels que les auto-médias et les médias, et sont utilisées par les opérateurs de comptes publics officiels d'entreprise WeChat. L'équipe ou l'entreprise a la force de développer du contenu peut également appeler des interfaces dans la plate-forme publique, telles que des menus personnalisés, des réponses automatiques et des fonctions de requête. À l'heure actuelle, la plupart des WeChat le font après avoir obtenu la certification.
mp.weixin.qq.com
2. La plateforme ouverte est destinée aux développeurs et aux développeurs de logiciels tiers indépendants. Je pense que la plus grande ouverture de la plateforme de développement est la connexion WeChat. À cette époque, Tencent n'a pas fait de gros efforts pour mettre en œuvre une connexion unifiée. En conséquence, chaque site Web doit désormais développer un mécanisme de connexion. Heureusement, ils comprennent désormais la situation. Les développeurs ou développeurs de logiciels, grâce à la plate-forme et à l'interface fournies par WeChat, peuvent développer des sites Web de commerce électronique adaptés aux entreprises, scanner le code QR pour accéder à une interface de jeu, puis acheter des produits. Bien entendu, la plate-forme ouverte ultérieure ouvrira l'interface de paiement, afin que les développeurs de logiciels tels que Pocket Tong puissent fournir des services et des logiciels tels que les magasins WeChat aux grandes, petites et moyennes entreprises.
open.weixin.qq.com
La plateforme publique est le backend de gestion et de développement des comptes d'abonnement aux comptes de service.
Pour faire simple, la plateforme de développement consiste à réaliser le partage en un clic du contenu du logiciel installé dans le téléphone mobile avec le cercle d'amis
Le tiers suivant ; la connexion repose sur la plateforme ouverte (open.weixin.qq.com) Fonctions
Application de site Web La connexion WeChat est un système de connexion autorisé WeChat OAuth2.0 construit basé sur la norme de protocole OAuth2.0.
Avant d'effectuer WeChat OAuth2. Avant d'effectuer la connexion et l'accès autorisés à WeChat OAuth2.0, enregistrez un compte de développeur sur la plate-forme ouverte WeChat, disposez d'une application de site Web approuvée et obtenez l'AppID et l'AppSecret correspondants. connectez-vous et réussissez l’examen, vous pouvez démarrer le processus d’accès.
La connexion autorisée WeChat OAuth2.0 permet aux utilisateurs de WeChat d'utiliser leur identité WeChat pour se connecter en toute sécurité à des applications ou à des sites Web tiers, et l'utilisateur WeChat autorise à se connecter à les tiers qui ont accédé à WeChat OAuth2.0 Après l'application, le tiers peut obtenir les informations d'identification d'appel de l'interface utilisateur (access_token) et utiliser le access_token pour appeler l'interface de relation d'autorisation de la plate-forme ouverte WeChat, obtenant ainsi les informations ouvertes de base des utilisateurs de WeChat et aider les utilisateurs à réaliser les fonctions ouvertes de base.
La connexion autorisée WeChat OAuth2.0 prend actuellement en charge le mode authorisation_code, qui convient à l'autorisation d'application côté serveur. Le processus global de ce modèle est le suivant :
1. Le tiers lance une demande de connexion d'autorisation WeChat Une fois que l'utilisateur WeChat autorise l'autorisation de l'application tierce, WeChat lancera l'application ou redirigera vers le tiers. site Web du parti et apportez le paramètre de code de ticket temporaire d'autorisation
2. Ajoutez AppID et AppSecret via le paramètre de code et échangez access_token via l'API ;
Obtenir le diagramme de séquence access_token :
S'il apparaît "Le lien n'est pas accessible", veuillez vérifier si les paramètres sont mal renseignés. Par exemple, le nom de domaine de redirect_uri est incohérent. avec le nom de domaine autorisé renseigné lors de l'examen ou la portée n'est pas snsapi_login.
Paramètre
|
Est-ce nécessaire
|
Description
|
est | L'identifiant unique de l'application | |
est |
| L'adresse de redirection doit être UrlEncode|
est |
| Remplissez le code|
est | Portée d'autorisation de l'application. Si vous avez plusieurs portées, séparez-les par des virgules (, Pour les applications Web, il vous suffit actuellement de renseigner snsapi_login | |
Non | permet de maintenir le statut de la demande et du rappel, et de le ramener au tiers tel quel après avoir autorisé la demande. Ce paramètre peut être utilisé pour empêcher les attaques CSRF (attaques de falsification de requêtes intersites). Il est recommandé aux tiers d'apporter ce paramètre. Il peut être défini sur un simple nombre aléatoire plus une session pour vérification |
Une fois que l'utilisateur a autorisé l'autorisation, il sera redirigé vers l'URL redirect_uri, avec les paramètres de code et d'état
redirect_uri?code=CODE&state=STATE
Si l'utilisateur interdit l'autorisation, le paramètre code ne sera pas porté après la redirection, seul le paramètre state sera porté
redirect_uri?state=STATE
Connectez-vous à l'application du site Web Yihaodian
https://passport.yhd.com/wechat/login.do
Après ouverture, le Yihaodian générera l'état paramètre et accédez à
https://open.weixin.qq.com/connect/qrconnect?appid=wxbdc5610cc59c1631&redirect_uri=https%3A%2F%2Fpassport.yhd.com%2Fwechat%2Fcallback.do&response_type=code&scope= snsapi_login&state= 3d6be0a4035d839573b04816624a415e#wechat_redirect
https://open.weixin.qq.com/connect/qrconnect?appid=wxbdc5610cc59c1631&redirect_uri=https%3A%2F%2Fpassport.y hd.com%2Fwechat%2 Fcallback.do&response_type=code&scope=snsapi_login&state =eb407f95fbc413185209fd85931761c2#wechat_redirect
Une fois que les utilisateurs de WeChat ont scanné le code QR à l'aide de WeChat et confirmé la connexion, le PC passera à
https://passport.yhd.com /wechat/callback.do ?code=CODE&state=3d6be0a4035d839573b04816624a415e
La deuxième façon d'obtenir le code permet au site Web d'intégrer le code QR de connexion WeChat dans sa propre page, et l'utilisateur utilise WeChat pour scanner le code pour autorisation. Renvoyez ensuite le code au site Web via JS.
L'objectif principal de la connexion JS WeChat : le site Web espère que les utilisateurs pourront terminer la connexion sur le site Web sans accéder au domaine WeChat pour se connecter puis revenir, afin d'améliorer la fluidité et le taux de réussite de Connexion WeChat. Comment implémenter JS pour la connexion WeChat par code QR intégrée au site Web :
e98a644783ae9ff405b61b4d9d2c25b32cacc6d41bbb37262a98f745aa00fbf0
varobj = new WxLogin({ id:"login_container", appid: "", scope: "", redirect_uri: "", state: "", style: "", href: "" });
参数 |
是否必须 |
说明 |
id |
是 |
第三方页面显示二维码的容器id |
appid |
是 |
应用唯一标识,在微信开放平台提交应用审核通过后获得 |
scope |
是 |
应用授权作用域,拥有多个作用域用逗号(,)分隔,网页应用目前仅填写snsapi_login即可 |
redirect_uri |
是 |
重定向地址,需要进行UrlEncode |
state |
否 |
用于保持请求和回调的状态,授权请求后原样带回给第三方。该参数可用于防止csrf攻击(跨站请求伪造攻击),建议第三方带上该参数,可设置为简单的随机数加session进行校验 |
style |
否 |
提供"black"、"white"可选,默认为黑色文字描述。详见文档底部FAQ |
href |
否 |
自定义样式链接,第三方可根据实际需求覆盖默认样式。详见文档底部FAQ |
Paramètres
Est-ce nécessaire
Description
Obtenez le jeton d'accès via le code
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
|
Est-ce nécessaire |
|
|||||||||||||||||||||||||||||
appid |
Oui |
L'identification unique de la candidature est obtenue après avoir soumis la candidature pour examen sur la plateforme ouverte WeChat | tr>|||||||||||||||||||||||||||||
secret |
est |
La clé d'application AppSecret est obtenue après avoir soumis la demande pour examen sur la plateforme ouverte WeChat |
|||||||||||||||||||||||||||||
code |
est |
Remplissez les paramètres de code obtenus lors de la première étape |
|||||||||||||||||||||||||||||
grant_type |
Oui |
Remplissez le code_autorisation |
Paramètres |
参数 |
是否必须 |
说明 |
appid |
是 |
应用唯一标识 |
grant_type |
是 |
填refresh_token |
refresh_token |
是 |
填写通过access_token获取到的refresh_token参数 |
access_token
Identifiants d'appel de l'interface
expires_in
délai d'expiration du bon d'appel de l'interface access_token, unité (seconde)
refresh_token
Actualisation utilisateur access_token
openid
L'identifiant unique de l'utilisateur autorisé
scope
Portée de l'autorisation utilisateur, séparée par des virgules (,)
unionid
Ce champ n'apparaîtra qu'une fois que l'utilisateur aura lié le compte officiel au compte WeChat Open Platform.
Paramètre |
Est-il obligatoire |
Description |
appid |
is |
Appliquer un identifiant unique |
grant_type |
Oui |
Remplissezfresh_token |
refresh_token |
Oui | Remplissez le paramètre rafraîchir_token obtenu via access_token |
Retour correct :
{ <br>"access_token":"ACCESS_TOKEN", <br>"expires_in":7200, <br>"refresh_token":"REFRESH_TOKEN", <br>"openid":"OPENID", <br>"scope":"SCOPE" <br>}
Paramètres
|
Description |
||||||||||||
access_token |
Identifiants d'appel de l'interface |
||||||||||||
expires_in |
Délai d'expiration des informations d'identification de l'appel de l'interface Access_token, unité (seconde) | ||||||||||||
refresh_token |
Actualisation de l'utilisateur access_token |
||||||||||||
openid |
Identification unique des utilisateurs autorisés |
portée |
Portée autorisée par l'utilisateur, utilisez des virgules ( ,) séparés |
Exemple de retour d'erreur :
Remarque :授权作用域(scope) |
接口 |
接口说明 |
snsapi_base |
/sns/oauth2/access_token |
通过code换取access_token、refresh_token和已授权scope |
/sns/oauth2/refresh_token |
刷新或续期access_token使用 |
|
/sns/auth |
检查access_token有效性 |
|
snsapi_userinfo |
/sns/userinfo |
获取用户个人信息 |
Portée de l'autorisation |
Interface |
Description de l'interface |
snsapi_base |
/ sns/ oauth2/access_token |
Code d'échange pour access_token,fresh_token et portée autorisée |
Actualiser ou continuer Période access_token utilise |
/sns/auth |
Vérifier la validité du access_token |
|
snsapi_userinfo td> |
/sns/userinfo |
Obtenir les informations personnelles de l'utilisateur td> |
Parmi eux, snsapi_base appartient à l'interface de base. Si l'application dispose déjà d'autres autorisations de portée, elle aura les autorisations de snsapi_base par défaut. L'utilisation de snsapi_base peut permettre à l'autorisation de la page Web mobile de contourner l'action consistant à accéder à la page de connexion d'autorisation pour demander l'autorisation de l'utilisateur, et d'accéder directement à la page Web tierce avec le ticket temporaire d'autorisation (code), mais cela rendra l'autorisation de l'utilisateur autorisée. scope (scope) uniquement snsapi_base , ce qui entraîne l'impossibilité d'obtenir des données et des fonctions de base nécessitant l'autorisation de l'utilisateur.
Réponse : Un tiers doit utiliser le code pour obtenir le access_token. Le délai d'expiration du code est de 10 minutes. Un code ne peut échanger avec succès le access_token qu'une seule fois, puis il deviendra invalide. La nature temporaire et unique du code garantit la sécurité de la connexion autorisée à WeChat. Les tiers peuvent renforcer davantage la sécurité de leurs propres connexions autorisées en utilisant https et les paramètres d'état.
2. Quelle est la portée de l'autorisation ?
Réponse : la portée de l'autorisation (portée) représente les autorisations d'interface accordées par les utilisateurs à des tiers. Les applications tierces doivent demander à la plate-forme ouverte WeChat l'autorisation d'utiliser la portée correspondante, puis utiliser la méthode décrite. dans le document pour permettre aux utilisateurs d'autoriser. Après l'autorisation de l'utilisateur, l'interface ne peut être appelée qu'après avoir obtenu le access_token correspondant.
Réponse : Le style de couleur de la page tierce peut être clair ou foncé. Si la page tierce a un fond clair, le champ de style doit fournir une valeur "noir" (ou ne pas la fournir, le noir est la valeur par défaut), puis le style de texte de connexion WeChat correspondant est noir. Les effets associés sont les suivants :
Si la valeur "blanc" est fournie, la description textuelle correspondante sera affichée en blanc, adapté aux fonds sombres. Les effets pertinents sont les suivants :
R : Si un tiers estime que le style par défaut fourni par l'équipe WeChat ne correspond pas à son propre style de page, il peut fournir son propre fichier de style pour remplacer le style par défaut. Par exemple, si un tiers estime que le code QR par défaut est trop volumineux, il peut fournir des fichiers de style CSS pertinents et renseigner l'adresse du lien dans le champ href
.impowerBox .qrcode {width:200px;}<br>.impowerBox .title {display: none;}<br>.impowerBox .info {width: 200px;}<br>.status_icon {display
:
none}<br>.impowerBox .status {text-align: center;}
Les effets associés sont les suivants :
Cette interface est utilisée pour obtenir des informations personnelles sur les utilisateurs. Les développeurs peuvent obtenir des informations utilisateur de base via OpenID. Il est particulièrement important de noter que si un développeur possède plusieurs applications mobiles, applications de site Web et comptes publics, l'utilisateur peut être distingué de manière unique en obtenant l'unionid dans les informations de base de l'utilisateur, car tant qu'il s'agit d'applications mobiles sous le même WeChat ouvert Compte de plateforme, applications de sites Web et comptes publics, l'identifiant syndical de l'utilisateur est unique. En d’autres termes, pour un même utilisateur, l’unionid est le même pour différentes applications sous la même plateforme ouverte WeChat.
Méthode de requête http : GET
https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID
Paramètre
|
Est-ce nécessaire |
Description |
|||||||||||||||||||
access_token td > |
Oui |
Identifiants d'appel | |||||||||||||||||||
openid |
Oui |
L'identification des utilisateurs ordinaires, unique au compte développeur actuel |
Paramètres
|
Description |
||||||||||||||||||||
openid |
L'identification des utilisateurs ordinaires, unique au compte développeur actuel | ||||||||||||||||||||
surnom |
Surnom d'utilisateur normal |
||||||||||||||||||||
sexe |
Sexe général de l'utilisateur, 1 est un homme, 2 est une femme td> |
||||||||||||||||||||
province
|
Normal Province renseignée dans le profil utilisateur |
||||||||||||||||||||
ville |
Ville renseignée par les informations personnelles des utilisateurs ordinaires |
||||||||||||||||||||
pays |
Un pays comme la Chine est CN |
||||||||||||||||||||
headimgurl |
Avatar de l'utilisateur, la dernière valeur représente la taille de l'avatar carré (0, 46 , 64, 96 , 132 les valeurs sont facultatives, 0 représente un avatar carré de 640*640), cet élément est vide lorsque l'utilisateur n'a pas d'avatar |
||||||||||||||||||||
privilège |
Informations sur les privilèges utilisateur, tableau json, tel que l'utilisateur WeChat Woka est (chinaunicom) | ||||||||||||||||||||
unionid |
Identification unifiée de l'utilisateur. Pour les applications sous un compte de plateforme ouverte WeChat, l'unionid du même utilisateur est unique. |
Nom de l'interface
Limite de fréquence
Échangez le code pour access_token
10 000/minute
Actualiser le jeton d'accès
50 000/minute
Obtenir des informations utilisateur de base
50 000/minute
代码示例:
第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数;
通过code参数加上AppID和AppSecret等,通过API换取access_token;
通过access_token进行接口调用,获取用户基本数据资源或帮助用户实现基本操作。
Login.php如下:
/*
返回 code state*/
$appid = 'wxea1xxxxxxxx20cb62';
$url = "https://open.weixin.qq.com/connect/qrconnect?appid=$appid&redirect_uri=http://zhiliaoke.com.cn/weixin.php&response_type=code&scope=snsapi_login&state=1&connect_redirect=1#wechat_redirect";
header(
'location:'.
$url);
验证处理如下:
<?php
$code = $_GET['code'];
$state = $_GET['state'];//换成自己的接口信息
$appid = 'XXXXX';
$appsecret = 'XXXXX';
if (empty($code)) $this->error('授权失败');
<br>
$token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$appsecret.'&code='.$code.'&grant_type=authorization_code';
$token = json_decode(file_get_contents($token_url));
if (isset($token->errcode)) {
echo '4a249f0d628e2318394fd9b75b4636b1错误:473f0a7621bec819994bb5020d29372a'.$token->errcode;
echo '076402276aae5dbec7f672f8f4e5cc81c1a436a314ed609750bd7c7d319db4da错误信息:2e9b454fa8428549ca2e64dfac4625cd'.$token->errmsg;
exit;
}
<br>
$access_token_url = 'https://api.weixin.qq.com/sns/oauth2/refresh_token?appid='.$appid.'&grant_type=refresh_token&refresh_token='.$token->refresh_token;//转成对象
$access_token = json_decode(file_get_contents($access_token_url));
if (isset($access_token->errcode)) {
echo '4a249f0d628e2318394fd9b75b4636b1错误:473f0a7621bec819994bb5020d29372a'.$access_token->errcode;
echo '076402276aae5dbec7f672f8f4e5cc81c1a436a314ed609750bd7c7d319db4da错误信息:2e9b454fa8428549ca2e64dfac4625cd'.$access_token->errmsg;
exit;
}
<br>
<br>
$user_info_url = 'https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token->access_token.'&openid='.$access_token->openid.'&lang=zh_CN';//转成对象
$user_info = json_decode(file_get_contents($user_info_url));
if (isset($user_info->errcode)) {
echo '4a249f0d628e2318394fd9b75b4636b1错误:473f0a7621bec819994bb5020d29372a'.$user_info->errcode;
echo '076402276aae5dbec7f672f8f4e5cc81c1a436a314ed609750bd7c7d319db4da错误信息:2e9b454fa8428549ca2e64dfac4625cd'.$user_info->errmsg;
exit;
}
$rs = json_decode(json_encode($user_info),true);//返回的json数组转换成array数组
//打印用户信息echo 'e03b848252eb9375d56be284e690e873';
<br>
print_r($rs);echo 'bc5574f69a0cba105bc93bd3dc13c4ec';
<br>
?>
用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑。
微信的授权登录在日常应用中应用的非常广泛,越来越多的平台支持用户使用微信进行授权第三方登录
使用微信授权登录有哪些优势/好处;
1、用户量足够大,基本所有用户都会有微信,登录起来比较方便快捷;
2、微信作为一个开放平台,为众多公众号/服务开放了许多服务接口,让公众号能够为自己的用户提供更加个性、更加优质的产品服务;
open id 和 union id ,这两个id有什么区别;
1、openid:在关注者与公众号产生消息交互后,公众号可获得关注者的openid,同一个用户,在不同公众号或移动应用下对应有不同open id标识;
2、union id:同一个用户,在不同公众号或移动应用下unionID相同;前提是,如若需要做多个公众号以及移动应用账户互通,得到唯一身份标识union id,则需要将多个公众号或移动应用在微信开放平台进行绑定,然后我们才能给拿到unionid;
所以,如果某个应用或者服务,有联合登录甚至多个公众应用多账户互通,可以采用union id来进行账户体系的用户识别与合并;即微信平台可以通过union id 来进行基于多个公众号之间的账户体系互通与识别合并;
微信联合登录是怎么登录的,有几种登录方式;微信联合登录和微信授权登录【授权登录(非静默授权)与静默授权】
微信联合登录;也就是我们常用的微信移动端/PC端之间的扫码登录,PC端用微信扫码登录,微信移动端确认授权登录后,应用可以从微信拿到用户的open id或union id,将微信获取的用户信息与自己账户体系中的用户身份进行关联;
授权登录:需要用户确认登录,这样可以通过用户的个人确认,获取用户全面的信息,无论是否关注相关微信公众号等都可以获取。
静默授权不需要用户确认,只需要用户访问某个网页,属于嵌套在普通网页里的授权形式,但是只能获取到用户的唯一标示openid和union id,无法拿到用户的微信头像、微信名称等个人信息,对于用户的简单认证还是很有用的。
如何通过微信账户体系来做多应用、多平台之间的账户互通体系;如果某个服务同时分布在多个公众号中,账户体系如何建立;如何做到用户身份唯一识别;
1)、同一用户不同公众号/应用下open id不同,同一用户不同公众号/应用下unionid相同;
2)、建立应用账户体系时,通过union来进行多应用/平台之间的用户账户体系识别与合并;
3)、多应用/平台建立账户体系时,需要做到唯一user id对应唯一union id;
Pour un certain service, y compris l'application mobile , la page Web PC et le service de compte public, quel est le processus de flux de données permettant aux utilisateurs de se connecter avec l'autorisation WeChat
1. L'utilisateur autorise le service d'application mobile via WeChat ; le service d'application peut obtenir l'identifiant syndical de l'utilisateur via l'interface. À ce stade, si l'identifiant n'est pas trouvé dans la base de données, il sera identifié comme un nouveau. l'utilisateur et un utilisateur seront créés directement id, l'identifiant utilisateur unique correspond à l'identifiant syndical 2 L'utilisateur scanne le code QR côté PC de WeChat pour autoriser la connexion conjointe pour obtenir le service côté PC ; ; le service d'application peut obtenir l'identifiant syndical de l'utilisateur via l'interface. À ce stade, si cet identifiant est trouvé dans la base de données, le compte de connexion PC sera fusionné avec le compte d'identifiant unique créé auparavant 3 ; . L'utilisateur peut se connecter au service de compte public en suivant le compte officiel du service et en l'autorisant avec WeChat ; Le serveur d'applications peut obtenir l'identifiant syndical de l'utilisateur via l'interface. À ce stade, si cet identifiant est trouvé dans la base de données, le. le compte connecté à partir du compte officiel sera fusionné avec le compte d'identification d'utilisateur unique créé précédemment
Explication de la différence entre les deux étendues d'autorisation de page Web :
1. Autorisation de connexion à la page Web initiée avec snsapi_base car la portée est utilisée pour obtenir la page d'entrée. L'openid de l'utilisateur est autorisé en silence et passe automatiquement à la page de rappel. Ce que l'utilisateur perçoit, c'est qu'il accède directement à la page de rappel (souvent une page professionnelle). Caractéristiques : L'utilisateur n'est pas au courant 2. Autorisation silencieuse de la page Web initiée avec snsapi_userinfo car la portée est utilisée pour obtenir ; les informations de base de l'utilisateur. Cependant, ce type d'autorisation nécessite que l'utilisateur accepte manuellement, et puisque l'utilisateur a accepté, il n'est pas nécessaire d'y prêter attention et les informations de base de l'utilisateur peuvent être obtenues après autorisation.Autorisation silencieuse dans des scénarios spéciaux :
Pour les utilisateurs qui ont suivi le compte officiel, si l'utilisateur entre depuis la session du compte officiel ou personnalisé menu La page d'autorisation Web de ce compte officiel, même si la portée est snsapi_userinfo, est autorisée en silence et l'utilisateur n'en est pas conscient.Processus d'autorisation de page Web :
1, guidez l'utilisateur pour saisir l'autorisation page pour accepter l'autorisation, Obtenez le code
Assurez-vous que le compte public WeChat a la portée d'autorisation (paramètre de portée) et guidez l'utilisateur vers la page d'autorisation Lien de référence :la portée est snsapi_baseRemarque : appid, redirect_uri, l'état doit être négocié avec le backendhttps://open.weixin .qq.com/connect/oauth2 /authorize?appid="+wx_appid+"&redirect_uri="+api.wx_reg+"&response_type=code&scope=snsapi_login,snsapi_userinfo&state=1,0#wechat_redirect
la portée est snsapi_userinfo https://open.weixin.qq.com/connect/oauth2/authorize?appid="+wx_appid+"&redirect_uri="+api.wx_reg+"&response_type=code&scope=snsapi_base,snsapi_userinfo&state= 1,0#wechat_redirect
2, code d'échange pour l'autorisation de la page Web access_token (opération backend)
redirect_uri sur l'url de la page revient à /?code=CODE&state=STATE. codeCe qui est échangé via le code est l'autorisation de page Web access_token. Si la portée de l'autorisation de page Web est snsapi_base, dans cette étape, lors de l'obtention de l'autorisation de page Web access_token, l'openid est également obtenu, ainsi que la page Web de style snsapi_base. le processus d’autorisation est terminé jusqu’à présent. 3 : Les informations personnelles sont obligatoires. L'arrière-plan obtient la valeur via le code et la renvoie au front-end pour l'exploitationRecommandations associées :Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!