吾八哥博客

您现在的位置是:首页 > 码农手记 > 前端相关 > 正文

前端相关

基于axios实现登陆接口的鉴权验证

吾八哥2022-06-01前端相关2212

前后端交互的时候一般操作类型的接口都需要鉴权验证,鉴权失败的时候就会返回无权限操作,这种场景下一般都是返回401,那么用户端的变化是提示无权限后应跳转到登陆页面,这里基于axios来实现这种跳转机制。

请求的时候带上鉴权验证信息,关键代码如下:

axios.interceptors.request.use(
    config => {
        let token = localStorage.getItem("authorization")
        if (token) {
            config.headers.Authorization = token;
        }
        return config
    },
    err => {
        return Promise.reject(err)
    }
)

后端接口进行鉴权验证后,若返回401则处理方式如下:

axios.interceptors.response.use(
    response => {
        return response
    },
    err => {
        if (err.response) {
            switch (err.response.status) {
                case 401:
                    if (router.currentRoute.path != '/login') {
                        router.replace({
                            path: '/login',
                            query: { redirect: router.currentRoute.fullPath }
                        })
                    }
            }
        }
        return Promise.reject(err.response.data)
    }
)