第一次wx.login()后获取code 在填写完注册信息时获取用户授权 把encryptedData, iv 缓存起来一起传给后端。然后有时会出现sessionkey过期情况, 故在注册最后阶段使用wx.checkSession校验,校验失败后 。 重新wx.login获取code传到后端再去微信服务器去换取sessionkey。这时候想解密用户敏感信息encryptedData, iv 需不需要重新getuserinfo获取?呢 由于sessinkey过期不可控 问题较难复现故请求各位大佬支援
应该是需要重新主动调用wx.getUserInfo重新获取encryptedData的,不得不问一下微信团队,为什么button open-type="getUserInfo"组件不加一个前置回调方法呢?这样开发者就可以在微信组件调用getUserInfo获取加密数据前先wx.checksession并根据结果选择是否调用wx.login了;我们现在都是在组件open-type="getUserInfo"的回调里先wx.checksession然后根据session状态主动调用了wx.login,然后再调用wx.getUserInfo,再调用后台的解密接口,感觉好绕啊,而且如果遇到极端情况-wx.checksession返回是有效,但是调用自己后台的解密接口时刚好session失效了,这就尴尬了呀
不用