关于token过期问题

关于token过期问题

我在想如果token开始有效期是两小时,可不可以每次防蚊接口,说明用户在操作,把这个token的过期时间再加2小时,原理跟session一样,这种方案应该也可以吧?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
Brian 2020-06-04 08:26:02

当然可以,这种有点像refresh token,你采用的是相对时间制。

如果这么做,就需要客户端侧有一个更新token的动作,服务器侧,每次收到请求后返回新的token给客户端。

但是有一个缺点,用户可以一直刷新token,而且旧token未失效对不对?这是非常危险的。

可以有这么个做法:

  1. 在token的请求login中放一个refresh token

  2. 当token过期后,客户端侧用refresh token请求refresh接口

  3. 收到新的token进行使用

  • 这个token每次请求服务端会自动把现在这个token延长时间的,不用返回新的token了,只要他一直操作,我的意思就是现在的这个token就一直有效
    2020-06-04 16:19:29
  • Brian 回复 提问者 程序猿中的攻城狮 #2
    那就需要缓存一下token了,然后,在redis里面查询token的过期时间!这样做没有意义呀,本来用token就是用的无状态,省维护,不用同步session的那套机制!你现在反而想把token当session用,那为什么不直接用session呢?都是服务器端来维护它的可用状态了!
    2020-06-08 10:09:11
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师