Axios - отправка заголовка всегда по умолчанию - PullRequest
0 голосов
/ 17 января 2019

У меня есть приложение, в котором большинство конечных точек используют один и тот же токен для аутентификации. Поэтому, когда пользователь входит в систему, я использую следующее:

axios.defaults.headers.common['Authorization'] = 'Bearer ' + user.access_token

Но у меня есть некоторые конечные точки, у которых есть другой токен на предъявителя. В этих случаях я пытаюсь это:

axios.get(`${API_BASE}/Config`, { headers: { Authorization: AuthStr } })
  .then(response => {
    if (response.status === 200) {
      commit(HIDE_LOADING)
      resolve(response.data)
    }
  })

Где AuthStr передается в качестве аргумента и является правильным токеном носителя для этой конечной точки. Но когда я вызываю этот метод, axios отправляет токен носителя, настроенный на axios.defaults.headers.common['Authorization'], и игнорирует мой аргумент AuthStr токена.

Как мне переопределить это?

1 Ответ

0 голосов
/ 17 января 2019

Как отмечает @Maaz Syed Adeeb, это ошибка аксиоса. Я мог бы решить, используя следующий код, как предложено в: выпуск

  axios.get(`${API_BASE}/EndPointThatUserAnotherToken`, getAxiosOptions(AuthStr))
  .then(response => {
    if (response.status === 200) {
      commit(HIDE_LOADING)
      resolve(response.data)
    }
  })

function getAxiosOptions (authToken) {
  let opt = {
    transformRequest: [function (data, headers) {
      delete headers.common.Authorization
      headers.Authorization = authToken
      return data
      }]
    }
    return opt
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...