Maison  >  Article  >  Applet WeChat  >  Explication détaillée de la connexion autorisée par l'applet WeChat pour obtenir des informations sur l'utilisateur

Explication détaillée de la connexion autorisée par l'applet WeChat pour obtenir des informations sur l'utilisateur

coldplay.xixi
coldplay.xixiavant
2020-12-24 17:45:053984parcourir

Tutoriel de développement de mini-programmesLa colonne enregistre ce blog est uniquement destinée à enregistrer le processus de connexion au mini-programme WeChat

Explication détaillée de la connexion autorisée par l'applet WeChat pour obtenir des informations sur l'utilisateur

Recommandé (gratuit) : Tutoriel de développement de mini-programmes

Document ouvert du mini-programme WeChat : développeurs.weixin.qq.com/miniprogr...

Ce blog est uniquement utilisé pour enregistrer le processus de connexion à l'applet WeChat. Pour les codes spécifiques, veuillez vous référer à la documentation WeChat.

  1. L'applet. appelle d'abord l'interface wx.login() Obtenez le code d'identification de connexion, puis appelez l'interface wx.getUserInfo() dans la méthode de rappel de réussite pour obtenir les informations de base de l'utilisateur (l'interface renvoie avec succès les informations sensibles de l'utilisateur selectedData données chiffrées ; iv initiale vecteur de l'algorithme de chiffrement)

    wx.login({
     success: function (e) {
         var code = e.code;//登录凭证
         if (code) {
             //2、调用获取用户信息接口
             wx.getUserInfo({
                 success: function (res) {
                     console.log({encryptedData: res.encryptedData, iv: res.iv, code: code});
                     // 将code, encryptedData ,iv 发送给服务端 ,根据服务端返回的数据判断登录成功或者失败
                 },
                 fail: function () {
                     console.log('获取用户信息失败')
                 }
             })
    
         } else {
             console.log('获取用户登录态失败!' + e.errMsg)
         }
     },
     fail: function () {
         callback(false)
     }})

    wx.login Adresse du document : développeurs.weixin.qq.com/miniprogr...
    wx.getUserInfo Adresse du document : développeurs.weixin.qq.com/miniprogr. ..

  2. Serveur : Obtenez le code de paramètre du mini programme et appelez l'interface WeChat auth.code2Session Si openid, session_key, etc. sont renvoyés avec succès, puis vérifiez la vérification officielle et. document de décryptage fourni par WeChat

    public function miniProgramLogin($code){
         $url = "https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=$code&grant_type=authorization_code";
         return json_decode(curl_request($url), true);}//助手函数  curl_requestfunction curl_request($url, $data=null, $method='get', $header = array("content-type: application/json"), $https=true, $timeout = 5){
         $method = strtoupper($method);
         $ch = curl_init();//初始化
         curl_setopt($ch, CURLOPT_URL, $url);//访问的URL
         curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);//只获取页面内容,但不输出
         if($https){
             curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);//https请求 不验证证书
             curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);//https请求 不验证HOST
         }
         if ($method != "GET") {
             if($method == 'POST'){
                 curl_setopt($ch, CURLOPT_POST, true);//请求方式为post请求
             }
             if ($method == 'PUT' || strtoupper($method) == 'DELETE') {
                 curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method); //设置请求方式
             }
             curl_setopt($ch, CURLOPT_POSTFIELDS, $data);//请求数据
         }
         curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
         curl_setopt($ch, CURLOPT_HTTPHEADER, $header); //模拟的header头
         //curl_setopt($ch, CURLOPT_HEADER, false);//设置不需要头信息
         $result = curl_exec($ch);//执行请求
         curl_close($ch);//关闭curl,释放资源
         return $result;}

    document d'interface auth.code2Session : développeurs.weixin.qq com/miniprogr...
    Document de décryptage des données (avec des exemples de codes dans différentes langues) : développeurs.weixin.qq. .com/miniprogr...

Données décryptées :
Explication détaillée de la connexion autorisée par lapplet WeChat pour obtenir des informations sur lutilisateur

Enregistrer/mettre à jour la table utilisateur après avoir obtenu les données décrypté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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer