我在刷新令牌时遇到了问题。在我更新令牌之后,应该对我的配置发出请求,但这并没有发生。令牌被更新,但第二次执行getIserInfo方法时,它不起作用。
我的AXIOS拦截器:
import axios from "axios";
import {getToken, logOut, refreshToken, setUser} from "@/services/auth.service";
const HTTP = axios.create({baseURL: process.env.REACT_APP_API_ENDPOINT});
HTTP.interceptors.request.use(
config => {
const token = getToken();
if (token) {
config.headers['Authorization'] = `Bearer ${token}`;
}
return config;
},
error => Promise.reject(error)
)
HTTP.interceptors.response.use(
response => response,
async error => {
debugger;
const originalRequest = error.config;
if (error.response.status === 401 && !originalRequest._retry) {
originalRequest._retry = true;
try {
const response = await refreshToken();
const {data} = await response;
setUser(data);
} catch (e) {
logOut();
}
return HTTP(originalRequest);
}
return Promise.reject(error);
}
)
export default HTTP
在执行令牌之后,getUserInfo方法应该再次工作
在删除页眉后工作
delete originalRequest["headers"]
return HTTP(originalRequest);
1条答案
按热度按时间50pmv0ei1#
问题出在axios 1.0+中。在删除并切换到版本0.27之后,一切都正常了。这很可能是他们的一个漏洞。