• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

微信小程序----session_key失效导致的后台错误wxsploginapiaesCbcUtilerrorinfo:padbl ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
出错场景

微信小程序的一键登录,授权获取用户的手机号,进行注册。


每一个新的用户在第一次进入小程序进行一键登录的时候都会报错,当第一次报错退出小程序,第二次进入时能够顺利的进行一键登录。


后台Java报出的错误原因

wxsp login api aesCbcUtil error info: pad block corrupted


报错原因

getUserInfogetPhoneNumber接口在调用之前必须先调用login接口。


getUserInfo


getPhoneNumber


调用顺序


WXML

<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"> </button>

JS

Page({ 
    onLoad(){
        //获取code
        this.getLogin();
    },
    //获取code
    getLogin(){
        //code获取成功,保存为当前页面的全局变量code
        wx.login({
            success: res => {
                this.setData({code: res.code})
            },
            fail: res => {
                this.wetoast.toast({ title: res.err_desc });
            }
        })
    },
    getPhoneNumber(e) { 
        console.log(e.detail.errMsg) 
        console.log(e.detail.iv) 
        console.log(e.detail.encryptedData) 
        // 获取用户的session_key、openID以及isRegister(注册情况)
        app.globalMethod.GET({
            url: urlList.getOpenidUrl,
            data: {
                code: this.data.code
            },
            success: res => {
                if (res.data.code == '200') {
                    //获取用户的openID
                } else {
                    this.wetoast.toast({ title: res.data.message });
                }
            }
        })
    } 
})

注意

在回调中调用 wx.login 登录,可能会刷新登录态。此时服务器使用 code 换取的 sessionKey 不是加密时使用的 sessionKey,导致解密失败。建议开发者提前进行 login;或者在回调中先使用 checkSession 进行登录态检查,避免 login 刷新登录态。

下载

我的博客,欢迎交流!

我的CSDN博客,欢迎交流!

微信小程序专栏

前端笔记专栏

微信小程序实现部分高德地图功能的DEMO下载

微信小程序实现MUI的部分效果的DEMO下载

微信小程序实现MUI的GIT项目地址

微信小程序实例列表

前端笔记列表

游戏列表


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap