问题模块 | 框架类型 | 问题类型 | 操作系统 | 操作系统版本 | 手机型号 | 微信版本 |
---|---|---|---|---|---|---|
客户端 | 小程序 | Bug | Android | 10 | HW P20 | 7.0.10 |
点击 button open-type="getUserInfo"获取用户数据encryptedData,再调用wx.login获取code,再encryptedData+code把传到服务器用auth.code2Session返回session_key解密错误,如果再点一次按钮,这时可以解密成功.
问题似乎是 button open-type="getUserInfo"返回的数据所使用的session_key已经过期了.
网友回复
Admin²⁰²⁰:
应该先login再getUserinfo,文档上有说过,如果getUserinfo后再login,code可能会刷新,传给服务端的可能是旧的code导致解密失败。
老张:
先wx.login,再wx.getUserinfo
白宦成:
所以才有 checkSession 接口
https://developers.weixin.qq.com/miniprogram/dev/api/open-api/login/wx.checkSession.html