基于axios实现登陆接口的鉴权验证
前后端交互的时候一般操作类型的接口都需要鉴权验证,鉴权失败的时候就会返回无权限操作,这种场景下一般都是返回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)
}
)