关于API TOKEN机制,如果token过期前端要如何处理?

前端vue
与后端通过API交互
身份验证采用的是token机制
如果用户请求中后端判断token已过期或者无效
前端应该如何处理?
axios可以集中处理这种需求吗?
还是每个ajax请求都要带上token过期的业务?

两个问题

  1. 一般token过期该如何处理?
  2. 前端处理token过期是每个ajax请求都判断服务端是否返回token过期然后做什么处理?
阅读 20.1k
4 个回答

过期后端自己清除即可,前端如果你存在cookie到期会自动清除。
前端通过axios 拦截器处理所有请求

// http response 拦截器
axios.interceptors.response.use(
    response => {
        return response;
    },
    error => {
        if (error.response) {
            switch (error.response.status) {
                case 401:
                 //这里跳转登陆
                 .....
                }
    });

为了安全起见每一个http请求都要判断token是否过期,如果过期进行提示弹窗跳转到登录页。

1、token过期重新登录,或者后端刷新token(根据业务走)
2、后端每次接受前端请求的时候都会验证token是否过期,过期了返回一个过期标志,如code=2(0:success;1:error;2:unlogin),前端根据这些状态码去进行重新登录就行了

后端判断token过期返回统一错误码,前端统一设置拦截器检测到返回错误码为token过期就跳转登录

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题