服务端如何检测session_key是否有效?
发布于 6 年前 作者 houxia 4427 次浏览 来自 问答
  • 需求的场景描述(希望解决的问题)

开发者如果遇到因为session_key不正确而校验签名失败或解密失败,请关注下面几个与session_key有关的注意事项。

  1. wx.login()调用时,用户的session_key会被更新而致使旧session_key失效。开发者应该在明确需要重新登录时才调用wx.login(),及时通过登录凭证校验接口更新服务器存储的session_key。

  2. 微信不会把session_key的有效期告知开发者。我们会根据用户使用小程序的行为对session_key进行续期。用户越频繁使用小程序,session_key有效期越长。

  3. 开发者在session_key失效时,可以通过重新执行登录流程获取有效的session_key。使用接口wx.checkSession()可以校验session_key是否有效,从而避免小程序反复执行登录流程。

  4. 当开发者在实现自定义登录态时,可以考虑以session_key有效期作为自身登录态有效期,也可以实现自定义的时效性策略。

    使用官方的session_key作为登陆状态有效期可以很好的统一前后端登陆状态,但仅仅前端有checkSession接口而后端没有相关api,即后端无能力验证session_key的有效性。

  • 希望提供的能力

    提供验证session_key时效性的后端接口。

回到顶部