前端登录流程

1、首次登录,前端调用后端登录接口,发送用户名密码

2、后端收到请求,验证用户名密码。成功,返回给前端token和一个用户信息的值

(token:后台发的唯一标识,用来验证用户是否登录)

3、前端拿到token,将token存储到sessionStorage中,并跳转路由页面

4、前端每次跳转路由,判断cookies中是否有token。没有跳转登录页,有跳转对对应路由首页

5、每次调用后端接口,都要在请求头中加入token【在项目utils/service.js中添加全局拦截器】

6、后端判断请求头中有无token,有则拿到token并验证token。

成功返回数据,失败如:token过期,则前端会返回无效的token,跳转到登录页面并且清除本地用户的信息

【解决token过期】:

  • 在请求响应拦截器中拦截,判断token 返回过期后,调用刷新token接口。
  • 为了防止多次刷新token,可以通过一个变量isRefreshing 去控制是否在刷新token的状态
  • 同时发起两个或者两个以上的请求时,需要借助Promise,刷新token
posted @ 2023-06-12 17:56  有只小菜猫  阅读(718)  评论(0)    收藏  举报