На главную
Сеть
Заголовок Authorization
Собирает и разбирает заголовки Authorization и WWW-Authenticate: Basic с UTF-8, Bearer с расшифровкой JWT и Digest с расчётом ответа по RFC 7616. Всё считается в браузере — пароль никуда не уходит.
Basic — это Base64, а не шифрование: только поверх HTTPS
Заголовок
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Запрос с этим заголовком
curl
curl -H 'Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==' 'https://api.example.com/'
fetch
await fetch("https://api.example.com/", {
headers: { Authorization: "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==" },
});Python requests
requests.get("https://api.example.com/", headers={"Authorization": "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=="})HTTPie
http GET 'https://api.example.com/' 'Authorization:Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=='
Коротко о схемах
- Basic — логин:пароль в Base64 (RFC 7617). Кодировка UTF-8 по умолчанию; двоеточие в логине запрещено.
- Bearer — токен как есть (RFC 6750). Кто держит токен, тот и владелец, поэтому только HTTPS.
- Digest — хеш пароля с одноразовым nonce сервера (RFC 7616). Пароль не передаётся, но сервер должен хранить его в открытом виде или HA1.
- В ответе 401 сервер обязан прислать WWW-Authenticate, в ответе прокси 407 — Proxy-Authenticate.