在请求接口的时候在header中携带了access_token
和 refresh_token
如果access_token
过期了会根据refresh_token
获取新的 access_token
, 之后更新 refresh_token
的过期时间!
但是有个疑问哈 ! 在获取了新的access_token
后如何让写入到客户端呢?
用户在登录了一段时间后(access_token
已经过期),去请求了订单列表!
但是在请求订单列表的时候 由于 access_token
已经过期! 所以要根据 refresh_token
去获取新的令牌!
我们是阻断订单列表的请求让其去获取新的 access_token
之后返回特定状态码! 客户端根据判断状态码 根据约定好的状态码判断是否写入 access_token
?
这样的话请求订单列表的请求已经没了 咋处理呢?
感觉说的好乱 有大神解答下吗? (有打赏)!
在请求的时候,判断token是否过期,如果没有过期,继续请求;
如果有过期就检测 refresh_token
是否过期 如果也过期了就让用户重新登录!
如果token
过期 但是 refresh_token
没有过期 就在中间件设置新的Token 更新refresh_token
的过期时间 ;请求继续 并且再返回的json中增加token字段!
{ "status": 1, "msg": "获取订单列表成功", "data":[ //业务数据 ], "token" :"xxxxxxxxxxxxx" //新的token
在客户端 响应拦截器
中 判断返回对象中如果有 token
字段 就将 旧的token
替换!
不知这种是否可行呢?
慕哥9229398