Ответ 1
Все зависит от метода аутентификации , но для наиболее распространенных - Basic Auth и Digest Auth, это работает с ad hoc заголовками HTTP. Вот пример с Basic Auth:
curl -u john:pwd http://foo.com/misc
Выполняет запрос GET с соответствующим заголовком:
GET /misc HTTP/1.1
Authorization: Basic am9objpwd2Q=
User-Agent: curl/7.33.0
Host: foo.com
Accept: */*
Заголовок Authorization
содержит данные аутентификации, которые сервер должен анализировать, base64 decode [1] и использовать. Тот же заголовок будет установлен с запросом POST. Вы можете легко протестировать его с помощью службы httpbin (1) (см. /basic-auth/:user/:passwd
конечная точка).
Дайджест auth немного сложнее, но также работает с заголовками HTTP:
- клиент сначала отправляет свой запрос, сервер отвечает с
401 Unauthorized
, включая заголовокWWW-Authenticate
, с задачей решить, - клиент решает проблему и отправляет другой запрос с ответом, включенным в заголовок
Authorization
, который должен анализироваться и проверяться на стороне сервера.
[1]: base64("john:pwd")
→ am9objpwd2Q=