public function isAuth()
{
// 接收参数
$data = $this->request->param();
// 引入解密文件
require_once WX_PATH . 'WXBizDataCrypt.php';
require_once WX_PATH . 'ErrorCode.php';
$appid = yourappid;
$appsecret = yourappsecret;
$grant_type = "authorization_code"; //授权(必填)
$code = $data['code']; //有效期5分钟 登录会话
$encryptedData=$data['encryptedData'];
$iv = $data['iv'];
$curlUtil = new CurlUtil();
$token = null;
if ($code != null) {
// 拼接url
$url2 = "https://api.weixin.qq.com/sns/jscode2session?" . "appid=" . $appid . "&secret=" . $appsecret . "&js_code=" . $code . "&grant_type=" . $grant_type;
/*Array ( [session_key] => ysU8DjVG2Dcwy5XqMPl8oA== [openid] => oj9Hn5VTPWWZMae2iqMwnxudIeuE )*/
$res = json_decode($curlUtil->getUrl($url2), true);
$sessionKey = $res['session_key'];
$openid = $res['openid'];
$this->redis->set($token, $openid);
// 获取解密后的数据
$pc = new \WXBizDataCrypt($appid, $sessionKey);
//查询到的用户信息存储在$data
$errCode = $pc->decryptData($encryptedData, $iv, $data);
if ($errCode == 0) {
$map['rtnCode'] = "200";
$map['data'] = json_decode($data, true);
} else {
$map['rtnCode'] = "202";
$map['rtnMsg'] = '解密失败';
}
$this->echoJsonSucc($map);
}else{
$map['rtnCode'] = "101";
$map['rtnMsg']='未授权';
$this->echoJsonErr($map);
}
}
微信小程序授权登录 php
最新推荐文章于 2025-01-19 17:34:03 发布
359

被折叠的 条评论
为什么被折叠?



