基于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) } )