fetchData () {
axios.get('https://some-address.com/orders', {
params: {
limit: this.limit,
offset: this.offset
},
headers: auth.getAuthHeader()
})
.then((resp) => {
this.req = resp.data
console.info(resp)
})
.catch((err) => {
console.info(err)
})
}
Сохранение токена в "auth / index.js"
// The object to be passed as a header for authenticated requests
getAuthHeader () {
return {
'Authorization': localStorage.getItem('access_token')
}
}
Когда я отправляю запрос GET для получения списка элементов, я получаю в ответ следующие заголовки:
в запросе:
Код состояния 403, очевидно, API не получает мой access_token. Но если я сделаю тот же запрос в Postman (вручную вставив значение токена доступа) - он сработает.
Ошибка с консоли:
@KirkLarkin, так это проблема со стороны API?
Я не могу быть уверен - Можете ли вы подтвердить, что запрос OPTIONS дает 403?
Я отправляю токен в заголовке авторизации из опций.
У вас есть скриншот с этим?
Добавлено в основной пост.
Итак, ваше обновление подтверждает, что сервер ведет себя плохо. Этот может помочь подтвердить то, что я сказал до сих пор.





Попробуйте определить заголовки раньше:
axios.defaults.headers.common = {
'Authorization' : localStorage.getItem('access_token')
};
Я уже пробовал axios.defaults.headers.common['Authorization'] = localStorage.getItem('access_token') выше fetchData () в моем случае. Нет эффекта :(
Используйте перехватчик axios для запроса и проверьте, присутствует ли авторизация в заголовках, прежде чем запрос будет сделан github.com/axios/axios#interceptors
Это действительно была проблема на стороне сервера, благодаря @KirkLarkin, он указал мне в правильном направлении. Мне пришлось согласовывать с разработчиком серверной части правильные заголовки для запросов CORS.
Показанный вами ответ / запрос выглядит как предварительный запрос CORS, который будет выполнен браузером автоматически (этого не происходит при использовании Postman). Ваш сервер не должен 403 для предполетного запроса, поэтому я предлагаю изучить это.