咨询几个关于session_key的问题
发布于 6 年前 作者 taolei 5720 次浏览 来自 问答

这几天又涉及到解密的几个功能,对 session_key 还是有很多疑惑:

文档上说 session_key 是有有效期的, 可以通过 wx.checkSession 去检验,过期了,执行wx.login,就能获取新的 session_key

1:所以想问一下,如果 session_key 过期了,但是我们不去执行 wx.login (我们自己有个utoken的登录状态)

那微信会自己生成新的 session_key 吗?

2: 如果说微信不生成新的  session_key,那么理应我们去解密的时候是不会解密失败的?

因为都用着旧的 session_key。

3:但如果微信生成新的  session_key,那我们用 wx.checkSession 去检验,不就是还没过期吗?

(这个有效期是怎么判断的

4:我们之前使用授权手机号的一个情况:

(前提:我们没有wx.checkSession后执行wx.login,而是根据我们的utoken过期后,再去执行wx.login)

这样用户授权手机号,就会存在解密失败的情况,这说明 session_key 过期后,微信生成了新的 session_key ,那么我在执行 wx.login后,是不是这个 session_key 又要更新了?

(因为我拿着第一次的密文去重试解密的时候,解密失败,可见又生成了新的  session_key)

综合以上,还是想细致的了解一下:

1:session_key 都什么情况下会更新,哪些更新是我们触发的,哪些是微信触发的

2:session_key的有效期是怎么判断的?

1 回复

我知道获取手机号前,要先wx.login一下,是不是所有的解密前都要先wx.login一下。

我们目前解密的场景里,有从服务器读取数据,如果utoken过期了,那么会执行wx.login,所以怕执行了两次wx.login,最后导致解密失败

回到顶部