ax ios заголовок по умолчанию добавляет слово «Носитель» дважды - PullRequest
0 голосов
/ 27 марта 2020

Я пытаюсь получить профиль пользователя из пожарного магазина firebase, для которого требуется заголовок авторизации. После получения токена после входа. Я добавляю его в заголовки по умолчанию ax ios, немедленный запрос, который он сделал после входа в пожарную, успешен, но после обновления все запросы не выполняются.

Наблюдая за вкладкой сети на Chrome devtools, я обнаружил, что первое выполненное требование имеет заголовок авторизации, как и ожидалось. то есть:

Authorization: Bearer eyJhbGciOiJS....

, в то время как все неудачные запросы имеют заголовки с дополнительным словом «Bearer», которое ax ios добавляет самостоятельно.

Authorization: Bearer Bearer eyJhbGciOiJS....

Я удалил заголовок по умолчанию и установил заголовок явно по запросу путем извлечения его из localstorage. Так все работает хорошо. Это устраняет проблему с заголовками по умолчанию ax ios.

Ниже приведен код. Просьба посмотреть

// the default header is set here.
const setAuthorizationHeader = token => {
  localStorage.setItem('idToken', `Bearer ${token}`);
  axios.defaults.headers.common['Authorization'] = `Bearer ${token}`;
};

// the req made here. 
const res = await axios.get('/user');

После входа в систему, на вкладке сети devtool Chrome наблюдается немедленный успешный запрос заголовка Authozication, как и ожидалось

Authorization: Bearer eyJhbGciOiJSU....

, в то время как все остальные неудачные запросы после обновления страницы

Authorization: Bearer Bearer eyJhbGciOiJSU...

Кто-нибудь сталкивался с таким поведением топора ios раньше? Я использую топор ios ^ 0.19.2 ..

ОБНОВЛЕНИЕ 1: сохранение без явного добавления «Несущий» приводит к тому же выводу

axios.defaults.headers.common['Authorization'] = `${token}`;

первый запрос, сделанный после входа в систему , является токеном без ключевого слова Bearer, и все запросы после обновления имеют ключевое слово Bearer дважды перед фактическим токеном.

...