Maison  >  Article  >  cadre php  >  Connexion autorisée WeChat mobile de TP

Connexion autorisée WeChat mobile de TP

王雪芹
王雪芹original
2020-09-08 18:07:554000parcourir

De nos jours, WeChat est devenu un outil social incontournable pour tout le monde. Si vous pouvez vous connecter avec WeChat sur la plateforme d'adhésion, cela augmentera considérablement le lien entre les utilisateurs et la plateforme. Cette fois, je vais vous amener à mettre en œuvre une connexion autorisée sur WeChat mobile.

1. La connexion WeChat sur la page Web doit être implémentée dans WeChat.

Contrairement à la connexion par code scan côté PC, la page Web mobile ne peut pas être connectée avec l'autorisation WeChat à l'aide du navigateur ordinaire et doit être utilisée dans WeChat.

2.Préparation.

Nous devons avoir un compte de service WeChat certifié, ce qui est une condition préalable. Nous ouvrons la plateforme publique de connexion WeChat et trouvons « Autorisations d'interface ».

Connexion autorisée WeChat mobile de TP

Nous avons déjà l'autorisation d'obtenir des informations sur les utilisateurs Web. Si le compte de service n'est pas authentifié, cette autorisation n'est pas disponible.

Cliquez ensuite sur Modifier pour configurer le nom de domaine qui nécessite l'autorisation WeChat. Notez que l'autorisation doit être écrite sous la forme www.abc.com et que http ne peut pas être inclus. La mauvaise façon d'écrire est : http://www.abc.com.

3. Autoriser WeChat à obtenir les informations sur les utilisateurs de WeChat

Une fois les préparatifs terminés, nous pouvons suivre le document https://developers.weixin.qq .com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html pour procéder étape par étape.

Étape 1 : L'utilisateur s'engage à autoriser et à obtenir le code.

public function wechat_login(){

            $appid='wxff5b68b041a4fb11';//公众号基本配置中获取
            $redirect_uri='http://a.xx.cn/mobile/user/weixin_m.html';//用户授权后跳转处理的地址
            $url="https://open.weixin.qq.com/connect/oauth2/authorize?appid=".$appid."&redirect_uri=".$redirect_uri."&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect";
            return redirect($url);
        }

Nous guidons les utilisateurs pour accéder à la méthode wechat_login. Deux paramètres doivent être préparés ici. L'appid est obtenu à partir de la configuration de base du compte public Redirect_uri est le rappel de l'adresse de traitement après autorisation par le. Utilisateur WeChat. Il doit être écrit ici l'adresse absolue http, une adresse accessible depuis le réseau externe.

Étape 2 : Échangez le code pour l'autorisation de la page Web access_token

Nous établissons la méthode de rappel weixin_m pour la première étape. Nous imprimons d'abord le code pour vérifier si nous pouvons l'obtenir. C'est également une étape courante dans le débogage d'un programme. S'il n'y a aucun problème avec cette étape, passez à l'étape suivante.

public function weixin_m(){
            $code=input('get.code');
            halt($code);
}

Connexion autorisée WeChat mobile de TP

Ensuite, nous obtenons le access_token.

public function weixin_m(){
            $code=input('get.code');
            $appid='wxff5b68b241a4fb11';//公众号基本配置中获取
            $appsecret='412a24b17e61317d589b8bf92f374ffc';
            $url="https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$appid."&secret=".$appsecret."&code=".$code."&grant_type=authorization_code";
            $res=json_decode(file_get_contents($url),true);//json转数组
}

On se rend à l'adresse de la requête pour obtenir access_token, qui nécessite trois paramètres : appid, appsecret, code. L'appsecret s'obtient également dans la configuration de base du compte public.

Après la récupération, WeChat renvoie le format json par défaut, nous convertissons donc json en tableau, ce qui facilite l'opération.

Imprimez le tableau comme suit :

array:6 [
                "access_token" => "37_3RRxoQZKuECSpCfGMYLcO-1ZXu_uhTkdku_m29u4XfSq9-Ve_0Fn5_K6vUBpkiL1iXRpEBepOfeMZZA7TGm-bg"
                 "expires_in" => 7200
                "refresh_token" => "37_CjmxjzqBCqiIVH3aKjR22RQniCr_7DYYJYgodMONV5822FnfKuq0VwOS0B9dfucHf6GxTjXbczruwS5NIkGAWw"
                 "openid" => "oaq-51XAHNaj9qUxVwYu3-elVTa0"
                 "scope" => "snsapi_userinfo"
                 "unionid" => "oO0Bhv6ZSw4ZYV60CMzi2p4eUO7s"
            ]

De cette façon, nous avons obtenu avec succès access_token et openid.

Étape 3 : Extraire les informations de l'utilisateur (la portée doit être snsapi_userinfo)

Nous suivons toujours le document pour demander l'adresse :

 $user_url="https://api.weixin.qq.com/sns/userinfo?access_token=".$res['access_token']."&openid=".$res['openid']."&lang=zh_CN";            
 $userData=json_decode(file_get_contents($user_url),true);//json转数组            
 halt($userData);

Lors de la demande, vous devez transporter les paramètres access_token et openid que nous avons obtenus dans la deuxième étape. Le retour de WeChat est toujours au format json, et nous convertissons à nouveau json en tableau.

Imprimez le tableau comme suit :

Connexion autorisée WeChat mobile de TP

Après avoir obtenu les données utilisateur, nous pouvons stocker le tableau ou effectuer d'autres opérations.

Jusqu'à présent, la « Connexion autorisée Mobile WeChat » a été introduite. La difficulté globale n'est pas élevée. Elle exige également que chacun lise patiemment le document. Allez tout le monde !

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn