Как отправить заголовок авторизации через браузер - PullRequest
0 голосов
/ 09 февраля 2019

Я реализовал веб-сервер, который использует обычную аутентификацию (с использованием Spring Security).

Я отключил точку входа аутентификации по умолчанию при доступе к URL-адресу (вместо ответа 401 с заголовком www-аутентификации, он просто возвращает 401), цель состоит в том, чтобы браузер не отображал всплывающее окно аутентификации.

Я могу подключиться к серверу с помощью кода JavaScript и таких инструментов командной строки, как curl, однако, когда я тестировал его с помощью браузеров (chrome & firefox), они просто не отправляли заголовок.

curl -v -u user:password localhost:8080/user

GET / user HTTP / 1.1
Хост: localhost: 8080
Авторизация: Basic dXNlcjpwYXNzd29yZA ==
User-Agent: curl / 7.58.0
Accept: /

Chrome: версия 71.0.3578.98 (официальная сборка) (64-разрядная версия)
http://user:password@localhost:8080/user

GET / пользовательский HTTP / 1.1
Хост: localhost: 8080
Соединение: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit / 537.36 (KHTML, как Gecko) Chrome / 71.0.3578.98 Safari / 537.36
DNT: 1
Принимать:
текст / html, приложение / xhtml +xml, application / xml; q = 0,9, image / webp, image / apng, / ; q = 0,8
Accept-Encoding: gzip, deflate, br Accept-Language: en-AU, en; q = 0,9, fr-FR; q = 0,8, fr; q = 0,7, en-GB; q = 0,6, en-US; q = 0,5

Почему браузеры не отправляютзаголовок аутентификации.

1 Ответ

0 голосов
/ 09 февраля 2019

Обычно браузер получает авторизационный токен после входа в систему.Бэкэнд добавляет в заголовок действительный токен в качестве части авторизации.Для манипулирования HTML-запросом в браузере вам понадобится плагин типа https://addons.mozilla.org/de/firefox/addon/restclient/ или дополнительный инструмент типа почтальона.

...