1. token产生(存入本地)时的时间戳:用户成功登录,存token时记下此刻的时间戳A
2.token使用的时间戳:axios的请求拦截器中,请求会自动携带token,这就是使用token的时候,记下此刻的时间戳B
3.检查是否过期:时间差 = 时间戳B - 时间戳A
,将时间差与指定的token有效时长对比。如果大于有效时长,表示已经过期;如果小于有效时长,表示没过期
4.不同情况的处理
-
已经过期:
- 退出登录--清空token、当前用户信息,跳转到登录页
- 更换token
-
没过期:业务照常进行
refresh_token和token的作用
当用户登陆成功之后,返回的token中有两个值,说明如下:
token:
作用:在访问一些接口时,需要传入token,就是它。
有效期:2小时(安全)。
refresh_token
作用: 当token的有效期过了之后,可以使用它去请求一个特殊接口(这个接口也是后端指定的,明确需要传入refresh_token),并返回一个新的token回来(有效期还是2小时),以替换过期的那个token。
有效期:14天。(最理想的情况下,一次登陆可以持续14天。)