收藏
回答

缓存数据清理与登录态的关系

请问当小程序wx.setStorageSync设置的缓存数据被微信清理掉后,wx.login的登录态还在吗?另外授权数据还在吗?

最后一次编辑于  2018-12-28
回答关注问题邀请回答
收藏

2 个回答

  • 炜炎
    炜炎
    2018-12-30

    其实你完全可以自己去调试检测你所说的,微信提供了检测当前session_key是否有效的api,自己删除缓存后调一下不就清楚了吗,结果肯定是session_key还有效,你缓存的数据压根跟session_key没关系,如果有关系,那么就是说微信能够检测所有人开发的小程序的缓存数据,而且要知道你哪些数据跟登录是有关的,你清楚跟登录有关的数据后他帮你让session_key失效,觉得可能吗?你缓存的数据有可能是调用api的数据,有可能是后台数据,都是你自定义的,微信根本管不到,但还有一个就是你如果是用开发者工具那个清除缓存按钮,那样子就会把登录态清掉,因为不止storage。说白了就是登录态不在storage里面,在你看不到的地方。

    2018-12-30
    赞同
    回复
  • 痛快科技
    痛快科技
    2018-12-28

    1、storage被清除后,重新登录小程序是获取不到的

    2、login是一个接口,类似web端账号密码登陆

    3、微信用户不删除使用过的小程序,授权不会清除,下次获取用户信息的时候不会再提示授权

    2018-12-28
    赞同
    回复 12
    • Nicholas
      Nicholas
      2018-12-28

      你的意思是当微信清理storange时不一定会把登录态清理了对吧?


      2018-12-28
      回复
    • 痛快科技
      痛快科技
      2018-12-28回复Nicholas

      你说的登录态没有明白具体是指什么意思?你的登录态保存在storage了吗?


      2018-12-28
      回复
    • Nicholas
      Nicholas
      2018-12-28回复痛快科技

      就是session_key会不会自动失效

      2018-12-28
      回复
    • Nicholas
      Nicholas
      2018-12-28回复痛快科技

      就是当微信把本地缓存清了会不会导致session_key也过期

      2018-12-28
      回复
    • 痛快科技
      痛快科技
      2018-12-29回复Nicholas

      清理storage与sessiong_key没有关系,login之后需要使用新的session_key,session_key有自己的有效期。

      会话密钥 session_key 有效性

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

      1. wx.login 调用时,用户的 session_key 可能会被更新而致使旧 session_key 失效(刷新机制存在最短周期,如果同一个用户短时间内多次调用 wx.login,并非每次调用都导致 session_key 刷新)。开发者应该在明确需要重新登录时才调用 wx.login,及时通过 code2Session 接口更新服务器存储的 session_key。

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

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

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


      2018-12-29
      1
      回复
    查看更多(7)