时间:2019-05-07 来源:小程序工厂
以解决 原因是 顺序问题 正确顺序: wx_login 之后去授权 然后再去getopenid 这个顺序下 次次都成功
wx.login 应该放在获取用户信息前面
因为wx.login 后可能导致 session_key与获取信息时的 session_key不一致
导致解密失败
wx.login 一般要检查session_key失效再使用的
也就是说,要先 checkSession 检查是否失效,失效了再 login ,无论失效与否均 getUserInfo ,这样下来吗?
最好是能提前获取session_key
难道getUserInfo之后, session_key失效, wx.login 获取到了新session_key.用新session_key解码旧encrptedDate出错???这个概率有点小.......
你的意思可能是getUserInfo的时候微信服务器不会去检查session_key失效,然后获取了一个旧session_key加密的encrptedDate 然后,wx.login的时候,微信服务器检查了一下session_key发现失效了,然后给了你一个新的session_key
调用wx.login 有几率导致session_key更新
所以建议 把session_key保存在数据库之类的
每次微信小程序打开微信小程序 的时候 或者要用的时候 检查下session_key是否失效 失效就更新。
getUserInfo时候 是新的session_key 可是你再wx.login 这个又有可能是最新的了 而这个最新的可能和新的 不一样
所以getUserInfo的session_key 可能是旧的了
请问 问题解决了吗 我这边解析
encryptedData
也是时好时坏
可以检查一下iv和encryptedData 的值传到后台后是不是正确的
正确无误的。