小程序-静默登录

257 阅读1分钟

1、从小程序app.js中的wx.login方法获取code值

image.png

2、在微信公众平台官方文档中找到请求微信小程序服务器的网址

image.png

在config目录下创建对应文件,并找到自己的appi及AppSecret,并将loginUrl中对应的参数用%s代替

image.png

3、请求微信小程序服务器网址并封装get发送方式发送请求

if(!function_exists('curlGet')){
    function curlGet($url){
        $headerArray =array("Content-type:application/json;","Accept:application/json");
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch,CURLOPT_HTTPHEADER,$headerArray);
        $output = curl_exec($ch);
        curl_close($ch);
        $output = json_decode($output,true);
        return $output;
    }
}

image.png

4、根据openID查看数据库里有没有数据

image.png

5、如果没有数据则注册

  1. composer require firebase/php-jwt
    下载jwt包

  2. 根据jwt包中的文档生成token(注:需要加上相应的过期时间及对应的唯一标识uid)

image.png

6、控制器层返回token给前台,前台需要存入缓存

后台

image.png

前台

image.png