现在我先授权获取了iv 、encryptedData ,然后调取login 获取jscode (相当于刷新了session_key)。
然后把上述三个参数传到后台,后台根据jscode获取session_key,然后去解密encryptedData,一定几率也能解密成功,所以我怀疑login 去刷新session_key的时候是异步执行的,有一定的时间差。请问对不对
框架类型 | 问题类型 | API/组件名称 | 终端类型 | 微信版本 | 基础库版本 |
---|---|---|---|---|---|
小程序 | Bug | api | 工具 | 6.7.1 | 2.2.1 |
2 个回答
现在也有这个问题, 你是怎么解决的?
后端需要把登陆和授权存储用户信息分为两个接口, 登陆接口,把jscode传给后端,后端通过jscode获得session_key进行存储。
授权接口,再把iv 、encryptedData传给后端,后端根据已经记录的session_key进行解密就行。
其实无非就是先后要区分开就行。一定要先通过jscode获得session_key,然后在获取iv 、encryptedData
也就是不能先授权拿iv 、encryptedData,再去拿jscode。这个时候相当于iv 、encryptedData是之前的session_key加密的,因为每次去拿jscode 相当于刷新了session_key。
求官方 给个答案 很想知道,本人有点强迫症,要搞清楚原理。感激不尽
有缓存。有多台机器
好的谢谢 那就可以解释的通了
你好,可否让旧的session_key不要立即失效?