1、第一次登录的时候,前端调后端的登录接口,发送用户名和密码
2、后端收到请求,验证用户名和密码,验证成功,用户id、用户名、定义好的秘钥、过期时间生成 token ,返回给前端
3、前端拿到token,将token存储到localStorage
localStorage.setItem('token') = xxxxxxxxxxxxxx
4、前端每次跳转路由,就判断 localStroage 中有无 token ,没有就跳转到登录页面,有则跳转到对应路由页面
5、每次调后端接口,都要在请求头中加token
Axios.defaults.headers.common['token'] = window.localStorage.getItem('token')
6、后端判断请求头中有无token,有token,就拿到token并验证token,验证成功就返回数据,验证失败(例如:token过期)就返回401,请求头中没有token也返回401
7、如果前端拿到状态码为401,就清除token信息并跳转到登录页面
localStorage.removeItem('token');
this.$router.push('/login');