微信小程序获取手机号,后台解密时好时坏是怎么回事?
发布于 5 年前 作者 ekong 13666 次浏览 来自 官方Issues
5 回复

你可以参照下这个问题下的回答:https://developers.weixin.qq.com/community/develop/doc/0006e861258bd8792419946025b000

一般就是 sessionKey 失效所导致的

遇到同样的问题,我的原因是在getPhoneNumber回调中去调用login获取code,导致后台获取的sessionkey不是加密时的sessionkey,解密失败。按照文档,提前调用login,解决

看一下发送给后台是请求是post请求吗?因为要给后台传递参数,如果用get会因为限制传参数的长度而导致报错。

一般都是调用 wx.login()  导致上一次的登录失效造成的,你可以看看文档检查下  https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNumber.html

注意

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

回到顶部