IE11 и Safari не передали заголовок авторизации бэкэнду - PullRequest
0 голосов
/ 28 октября 2019

В своем приложении реакции я отправляю запрос в серверную часть Java. Но когда запрос отправляется IE11 и Safari, бэкэнд не может получить заголовок авторизации, могут быть получены другие заголовки.

Я попытался поместить Access-Control-Allow-Origin и withCrendentials в axios. Но не работает.

axios({
    method: 'get',
    url: link,
    responseType: 'document',
    headers: {
        'Access-Control-Allow-Origin': '*',
        Authorization: `Bearer ${jwt}`,
        expires: expires,
        abc: 'abc'
   },
   withCredentials: true
})

Код внешнего интерфейса:

axios({
    method: 'get',
    url: link,
    responseType: 'document',
    headers: {
        Authorization: `Bearer ${jwt}`,
        expires: expires,
        abc: 'abc'
   }
})

Код внутреннего интерфейса:

httpRequest.getHeader("Expires") -> same as expires value in header
httpRequest.getHeader("abc") -> "abc"
httpRequest.getHeader("Authorization") -> always to be null when browser is IE11 and Safari

1 Ответ

0 голосов
/ 28 октября 2019

Есть несколько причин, которые могут быть причиной этой проблемы. Прежде всего, убедитесь, что эти заголовки присутствуют в запросе браузера при навигации по каждому браузеру. Это самая важная вещь. Вы можете проверить это, нажав клавишу f12 и выбрав вкладку Сеть. Убедитесь, что у вас выбрана кнопка «Сохранить журнал». Перейдите в нужное место и найдите нужный запрос, а затем проанализируйте его. Проверьте вкладку «Сеть» в IE Если браузер не использует заголовок, возможно, что заголовок вообще не нужен. Вы также можете проверить это с помощью некоторого программного обеспечения, такого как Charles Proxy или аналогичного. (https://www.charlesproxy.com/) Во-вторых, проблема может заключаться только в названии заголовка. Каждый браузер может использовать разные заголовки (даже для одного и того же запроса). Возможно, искомый заголовок отсутствует в Safari или IE11, нонужная информация находится где-то в этом запросе. Найдите ее.

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