微信小程序获取手机号,后台解密时好时坏是怎么回事?

发布于 6 年前作者 ekong14232 次浏览最后编辑 6 年前来自 issues
5 回复
jingdu
jingdu1 楼6 年前

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

一般就是 sessionKey 失效所导致的

jie00
jie002 楼6 年前

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

yuqiang
yuqiang3 楼6 年前

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

leiyan
leiyan4 楼6 年前

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

注意

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

chaozhang
chaozhang5 楼4 年前

没遇到过