Получил 403 бесконечных l oop в ax ios -интерцепторах при попытке refre sh my AccessToken - PullRequest
0 голосов
/ 13 марта 2020

Что я хочу сделать, это

Когда AcccessToken пользователя недействителен с истечением времени,
Я хочу обновить sh AccessToken текущего пользователя с RefreshToken, где он хранится в LocalStorage.

но я впал в бесконечность l oop.

Вот мой код.

ax ios .interceptors.request

axios.interceptors.request.use(
config => {
    config.headers['Content-Type'] = 'application/json';
    return config;
},
error => {
    Promise.reject(error)
}
);

ax ios .interceptors.response

axios.interceptors.response.use((response) => {
return response
},
function (error) {
    const originalRequest = error.config;
    console.log("originalRequest = " + originalRequest);
    if (error.response.status === 403) {
        console.log("Interceptors.response => " + error.response);
        const refreshToken = localStorage.getItem('refreshToken');
        return axios.post('http://localhost:8080/jpa/system/getat', { "refreshToken": refreshToken })
            .then(res => {
                if (res.status === 200) {
                    sessionStorage.setItem('accessToken', res.data.accessToken);
                    axios.defaults.headers.common['Authorization'] = 
                     sessionStorage.getItem('accessToken');
                    return axios(originalRequest);
                }
            })
    }
    return Promise.reject(error);
});
...