Используйте функцию приставки после refre sh токена JWT - PullRequest
0 голосов
/ 23 января 2020

У меня есть функции

export function configureInterceptors(store) {
  axios.interceptors.response.use(
    response => response,
    error => {
      if (error.response && error.response.data) {
        if (error.response.status === 401 && err.config) {
          const originalRequest = error.config;
          originalRequest._retry = true;

          store.dispatch(jwtRefresh(originalRequest))          
        }
        throw error;
      }
    }
  );
}
export const jwtRefresh = (originalRequest) => dispatch => {
  dispatch(jwtRefreshBegins());

  axios
    .post('auth/jwt/refresh/', {
      refresh: window.localStorage.getItem('refresh')
    })
    .then(response => {
      window.localStorage.setItem('jwt', response.data.access);
      originalRequest.headers.Authorization = `JWT ${response.data.access}`;
      return axios(originalRequest)
    })
    .catch(err => {
      window.localStorage.removeItem('token');
      window.localStorage.removeItem('jwt');
    })
};

Но все мои запросы находятся в избыточной функции. Как я могу снова сделать функцию приставки, если ссылка refre sh прошла успешно? Я должен использовать функцию избыточности, потому что она изменяет состояние избыточности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...