这个我们后来重置消息秘钥后就恢复了,但我们确认没有改过消息秘钥,而且在大部分都报错的时候,还有部分用户是可以正常进行业务的。
所以我们希望咱们微信的技术人员帮忙查一下是什么原因
这是后台报错
请检查逻辑 获取到加密数据后 不要调用 wx.login 以code 获取 session_key 不然有几率解密失败
wx.login 以code 获取 session_key 不然有几率解密失败
在回调中调用 wx.login 登录,可能会刷新登录态。此时服务器使用 code 换取的 sessionKey 不是加密时使用的 sessionKey,导致解密失败。建议开发者提前进行 login;或者在回调中先使用 checkSession 进行登录态检查,避免 login 刷新登录态。
wx.login
login
checkSession
解密流程是这样:
wx.login 获取code;
把code传给后台,请求微信接口拿session_key;
wx.getUserInfo获取加密数据;
加密数据传给后台,使用第二步拿到的session_key来解密。
之前我们也遇到这问题了,按已上流程调整就再也没有出过无法解密的错误,
一般来说解密出问题,是因为第三步拿的解密数据和第二步的session_key不对应导致;
最近微信小程序的热点接口改动比较频繁,有些老逻辑就不太适用了
看着什么都已经拿到了啊,openid和session_key都打印出来了,下面的报错应该是后台自己代码出错了吧