微信小程序存储token在本地缓存不一致的情况

今天遇到个问题,客户反馈问题后,我们开发实在无法复现,开发手机都是流程没问题的。场景如下:
我们服务端采用了token,用户登录成功后就会下发一个token,假如原token没过期,我们则会刷新token,即覆盖操作。从日志上看,用户的操作流程如下:
用户登录后,拿到A token,然后开始用这个token进行调用接口,一切正常。
而后,用户又进行了一次小程序登录,我们下发了新token,B Token给到前端,用户拿B token也请求了一段时间,然后用户录制一个视频过来,显示点击每一个接口都是报错的,用户未登录操作,我们日志看了下,显示违法的token,而此时的token却是A token。

流程图如下:

在这里插入图片描述

这下子前端小伙伴犯难了,因为他们存token到本地中,没有头绪发生了什么,为啥拿着新token会突然变成旧token,排查陷入僵局。

最后,我们排查出问题如下:
用户用手机登录后,在微信电脑端这里也登录了小程序,
在这里插入图片描述
这个位置登录了小程序,原因是,手机的A token存放在手机里面,电脑端登录可以认作为第二个客户端,相当两个客户端登录同一个微信操作,然后电脑的检测到本地没有token,发起登录,此时刷新了A token变成B token,而手机端存放的A token就出现了问题。

这个场景很多开发者都可能会忽略,谨以记录此情形,大家开发的时候考虑多个场景一下。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值