@46kvolamak

Проблема при обновлении access token. Почему так происходит?

Тут создаю instance и при первом входе все работает нормально, но при просрочке токена возникает проблема, выдает ошибку 400 при запросе на UPDATE_TOKEN, при этом при проверке всего того же в postman все работает
'token' в localStorage - refresh token
const $api = axios.create({
  baseURL: LOCAL_API
})

$api.interceptors.request.use((config) => {
  config.headers.Authorization = `Bearer ${localStorage.getItem('accessToken')}`
  return config
})
$api.interceptors.response.use((config) => {
  return config
}, async (error) => {
  const originalRequest = error.config
  if (error.response.status == 401 && error.config && !error._isRetry) {

    originalRequest._isRetry = true
    try {
      const response = await axios({
        method: 'post',
        url:  UPDATE_TOKEN,
        data: localStorage.getItem('token')
      })
      console.log(response.data)
      localStorage.setItem('accessToken', response.data.accessToken)
      return $api.request(originalRequest)
    } catch (e) {
      console.log('Не авторизован')
    }
  }
  throw error 
}
)

export default $api


При установке параметра withCredentials: true, выходит вот такая ошибка

Запрос из постороннего источника заблокирован: Политика одного источника запрещает чтение удаленного ресурса на «тут url». (Причина: Учётные данные не поддерживаются, если заголовок CORS «Access-Control-Allow-Origin» установлен в «*»
Не совсем понимаю Access-Control-Allow-Origin должен устанавливаться на сервере, потому что его установить в headers запроса, это не помогает
  • Вопрос задан
  • 359 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы