分享到群后,拿分享的shareTicket调用一下wx.getShareInfo,得到encryptedData和iv,再和登录时换取到的sessionkey一起解密得到openGId。
大多数情况都能正确解密出来。
偶尔会出现解密失败的情况。这中间sessionkey并没有发生变化过(因为没有重新登录)。请问有可能是什么问题呢?
一开始怀疑是小游戏一段时间后sessionkey过期了,于是改为调用wx.getShareInfo前先用wx.checkSession判断有无过期,如果过期则先执行wx.login刷新sessionkey。
但是,当wx.checkSession返回未过期时,用sessionkey解密encryptedData也会失败。
丞相,最后你找到问题了吗
找到了啊。
小游戏一段时间后sessionkey过期了,于是改为调用wx.getShareInfo前先用wx.checkSession判断有无过期,如果过期则先执行wx.login刷新sessionkey。
客户端调用登录流程后服务端也获得了最新的sessionkey,这样解密就不会错了
我也是怀疑这样,但是我在调用之前,有wx.checkSession判断,显示的未过期,结果还是解密失败了,老尴尬了
这要查下服务端代码,看下有没有更新sessionkey
我的登录之前调用的wx.checkSession,显示未过期,也是解密失败,谁能帮我解答一下
我也是你这个情况呀,checkSession未过期,但是解密失败
@林超 @白开水
没人吗
在线等
是因为拿到的sessionkey存在过期机制吧
这是错误信息