微信小程序 登录过程

 2023-09-05 阅读 49 评论 0

摘要:微信小程序 登录过程 本文由笔者自己经验所得,不妥之处还望指教: 微信代码php后端代码 流程 小程序请求code 小程序请求encryptedData后端请求session_key后端解密小程序收到解密后的数据 小程序请求code wx.login({success: function (res) {var code = re

微信小程序 登录过程

本文由笔者自己经验所得,不妥之处还望指教:

  • 微信代码
  • php后端代码

流程

  • 小程序请求code
  • 小程序请求encryptedData
  • 后端请求session_key
  • 后端解密
  • 小程序收到解密后的数据

小程序请求code

  wx.login({success: function (res) {var code = res.codeconsole.info(res)}})

res打印结果为
Object { errMsg: “login:ok”,
code: “0132ltkt1BK8S90VtQmt1Eexkt12ltkE”}

小程序请求encryptedData

  wx.getUserInfo({success: function (res) {var encryptedData = res.encryptedDatavar iv = res.iv}})这里我们只需要   encryptedData 和iv      

res打印结果为
Object {
errMsg: “getUserInfo:ok”,
rawData:”{“nickName”:”nickname”,”gender”:0,”language”:”zh_CN”…}”,
userInfo: Object,
signature: …”,
encryptData:…
encryptedData:…}

这里取encryptedData

通过服务器获取加密数据

  wx.request({url: 'https://www.xxxx.net/login.php',data: {code: code,encryptedData: encryptedData,iv: iv},method: 'GET',success: function (res) {that.globalData.userInfo =JSON.parse(res.data.trim())cb(that.globalData.userInfo)}})  

res打印结果为
Object {errMsg: “request:ok”, data: ”{“openId”:”…”,”nick…}}”, statusCode: 200}

这样就获得了解密后数据

php代码

把微信加密解密文件放入目录

下载 aec-sample.rar

include_once "wxBizDataCrypt.php";
$appid = '你的APPID';
$secret = '你的secret';
$code = $_GET['code'];
$encryptedData = $_GET['encryptedData'];$curl = curl_init();
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_URL, 'https://api.weixin.qq.com/sns/jscode2session?appid='.$appid.'&secret='.$secret.'&js_code='.$code.'&grant_type=authorization_code');
$data = curl_exec($curl);
curl_close($curl);$response_data = '';
$session_key = json_decode($data)->session_key;
$wxBizDataCrypt = new WXBizDataCrypt($appid, $session_key);
$errCode=$wxBizDataCrypt->decryptData($encryptedData, $iv, $response_data);
echo $response_data;

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://808629.com/1170.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 86后生记录生活 Inc. 保留所有权利。

底部版权信息