微信小程序授权并获取手机号

本文介绍了微信小程序授权获取手机号的步骤,包括通过code获取session_key和openid,以及解密encryptedData的过程。在实际操作中,遇到手机号显示乱码的问题,概率高达80%。原因是小程序在获取手机号接口调用时刷新了code,导致使用过期session_key解密。解决方案是在回调中调用wx.login或先进行checkSession检查,确保login不会刷新登录态。
摘要由CSDN通过智能技术生成

先上流程图
在这里插入图片描述
从图中可知第一步是小程序那边拿code调服务端的接口获取session_key和openid

 @SneakyThrows
    @GetMapping("/wx/auth/code")
    @ApiOperation("微信小程序授权登录")
    public QueryResult wxAuthCode(@RequestParam("code")String code){
   
        //获取openid
            //拼接url
            StringBuilder url = new StringBuilder("https://api.weixin.qq.com/sns/jscode2session?");
            url.append("appid=");//appid设置
            url.append(WxConfig.APPID);
            url.append("&secret=");//secret设置
            url.append(WxConfig.SECRET);
            url.append("&js_code=");//code设置
            url.append(code);
            url.append("&grant_type=authorization_code");
//         
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值