Когда сервер разрешает доступ через обычную HTTP-аутентификацию, что ожидается в веб-браузере ?
На мгновение игнорируя веб-браузер, вот как создать запрос Basic Auth с помощью curl
:
curl -u myusername:mypassword http://somesite.com
Но как насчет веб-браузера? На некоторых веб-сайтах я видел URL-адрес, а затем сервер возвращает код ответа 401. Затем браузер отображает запрос имени пользователя / пароля.
Тем не менее, на somesite.com я не получаю приглашение на авторизацию, просто страница, на которой написано, что я не авторизован. Неужели на каком-то сайте неправильно реализован рабочий процесс Basic Auth, или мне нужно что-то еще сделать?
basic-authentication
bpapa
источник
источник
Ответы:
Чтобы помочь всем избежать путаницы, я переформулирую вопрос в двух частях.
Во-первых: «Как сделать HTTP-запрос с проверкой подлинности в браузере, используя BASIC-аутентификацию?» ,
В браузере вы можете сначала выполнить базовую аутентификацию http, дождавшись появления приглашения или отредактировав URL, если вы придерживаетесь этого формата:
http://myusername:mypassword@somesite.com
NB: команда curl, упомянутая в вопросе, прекрасно работает, если у вас установлена командная строка и curl. ;)
Ссылки:
Также согласно странице руководства CURL https://curl.haxx.se/docs/manual.html
Второй и реальный вопрос: «Однако на somesite.com я вообще не получаю приглашение на авторизацию, просто на странице, на которой написано, что я не авторизован. что еще мне нужно сделать?
В документации curl сказано, что
-u
опция поддерживает много методов аутентификации, по умолчанию используется Basic.источник
Ты пробовала ?
источник
В вашем браузере может быть кешировано старое неверное имя пользователя / пароль. Попробуйте очистить их и проверьте еще раз.
Если вы используете IE, а somesite.com находится в вашей зоне безопасности интрасети, IE может отправлять ваши учетные данные Windows автоматически.
источник
WWW-Authenticate header
Вы также можете получить это, если сервер отправляет код ответа 401, но неправильно устанавливает заголовок WWW-Authenticate - я должен знать, я только что исправил это в своем собственном коде, потому что приложения VB не отображали запрос аутентификации.
источник
Если в заголовках запроса нет учетных данных, ниже приведен минимальный ответ, необходимый для IE, чтобы запросить у пользователя учетные данные и повторно отправить запрос.
источник
Вы можете использовать Postman плагин для Chrome. Это дает возможность выбрать тип аутентификации, который вам нужен для каждого из запросов. В этом меню вы можете настроить имя пользователя и пароль. Почтальон автоматически переведет конфигурацию в заголовок аутентификации, который будет отправлен с вашим запросом.
источник