我使用axios拦截器刷新访问令牌,它们起作用。
axios.interceptors.response.use(
response => response,
async error => {
if ((error.response.status === 401 || error.response.status === 403) &&
error.response.data.code === 'token_not_valid' &&
sessionStorage.refreshToken) {
let response = await axios({
url: `${serverJWTUrl}/api/token/refresh/`,
method: 'post',
withCredentials: true,
data: {refresh: sessionStorage.refreshToken}
})
sessionStorage.setItem('accessToken', response.data.access)
error.config.headers.Authorization = 'Bearer ' + response.data.access
return Promise.resolve(axios.request(error.config))
}
return Promise.reject(error)
}
)
axios拦截器拦截后台的401错误和403错误,它们请求带有刷新令牌的新访问令牌,一切正常,但是403错误显示在控制台中。
感谢您的回答。