token生成与过期机制(设置伪过期机制)

2019-05-20  本文已影响0人  在路上phper

这节了解下token的过期机制


image.png

那么token过期之后如何通知前端(是在过期后通知还是过期之前几秒通知)呢 以及前端如何响应
下面看下思路(以php为例)


image.png
我们存入redis的过期时间与法定过期时间不能相同(一般是法定的过期时间2倍)
比如法定过期时间为3600秒 redis里面存入过期时间为7200秒 在3600秒内请求 一切正常

超过3600秒 提醒续期token(但是也能请求成功)即所说的伪过期


image.png
image.png
下面看下后端代码
首先改下checktoken.php
image.png
修改下token.php
image.png
法定时间设置成了20秒 实际过期时间为40s
然后把前面生成最新新闻的api业务数据 通过data字段给返回出来

hotnews.php


image.png
最后请求下地址 生成token 看下结果
image.png
接下来带上token值请求下最热新闻api
看看返回的字段值
image.png
由于我们在redis里设置法定时间为20s,实际过期时间为40s,所以在20s之前返回的status都为ok
在小于20秒是返回的status为refresh_token
image.png
前端需要判断status是否为refresh_token 出现这个表示需要续期token
当token过期时方位api显示为
image.png
以上就是token的简单过期机制规则
上一篇下一篇

猜你喜欢

热点阅读