Spec-Zone.ru › HTTP

Заголовки: Authorization

Заголовок Authorization

Базовая поддержка Широко доступно *

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в разных версиях браузеров. Она доступна во всех браузерах с июля 2015 года.

* Некоторые части этой функции могут иметь разный уровень поддержки.

  • Подробнее
  • Полная таблица совместимости
>

HTTP-заголовок Authorization запроса можно использовать для передачи учетных данных, которые аутентифицируют пользовательский агент на сервере и предоставляют доступ к защищенным ресурсам.

Заголовок Authorization обычно, но не всегда, отправляется после первой попытки пользовательского агента запросить защищенный ресурс без учетных данных. Сервер отвечает сообщением 401 Unauthorized, содержащим как минимум один заголовок WWW-Authenticate. Этот заголовок указывает схемы аутентификации, которые можно использовать для доступа к ресурсу, а также дополнительные сведения, необходимые клиенту для их использования. Пользовательский агент должен выбрать наиболее безопасную из предложенных схем аутентификации, которую он поддерживает, запросить у пользователя учетные данные, а затем повторно запросить ресурс, передав закодированные учетные данные в заголовке Authorization.

Этот заголовок удаляется при перенаправлениях между источниками.

Примечание: Этот заголовок входит в состав общей платформы аутентификации HTTP. Его можно использовать с рядом схем аутентификации.

Тип заголовка Заголовок запроса
Запрещенный заголовок запроса Нет

Синтаксис

Authorization: <auth-scheme> <authorization-parameters>

// Basic authentication
Authorization: Basic <credentials>

// Digest authentication
Authorization: Digest username=<username>,
    realm="<realm>",
    uri="<url>",
    algorithm=<algorithm>,
    nonce="<nonce>",
    nc=<nc>,
    cnonce="<cnonce>",
    qop=<qop>,
    response="<response>",
    opaque="<opaque>"

Директивы

<auth-scheme>

Схема аутентификации, определяющая способ кодирования учетных данных. К наиболее распространенным типам относятся (без учета регистра): Basic, Digest, Negotiate и AWS4-HMAC-SHA256.

Примечание: Дополнительные сведения и варианты см. в разделе Аутентификация HTTP > Схемы аутентификации.

За исключением <auth-scheme>, остальные директивы относятся к конкретным схемам аутентификации. Как правило, сведения о них следует искать в соответствующих спецификациях (ниже перечислены ключи для небольшого числа схем).

Базовая аутентификация

<credentials>

Учетные данные, закодированные в соответствии с указанной схемой.

Примечание: Сведения об алгоритме кодирования см. в примерах ниже, в разделе WWW-Authenticate, в статье Аутентификация HTTP и в соответствующих спецификациях.

Дайджест-аутентификация

<response>

Строка шестнадцатеричных цифр, доказывающая, что пользователь знает пароль. Алгоритм кодирует имя пользователя и пароль, область, cnonce, qop, nc и другие значения. Подробное описание приведено в спецификации.

username

Строка в кавычках, содержащая имя пользователя для указанного realm — в виде обычного текста или в виде хеш-кода в шестнадцатеричной записи. Если имя содержит символы, недопустимые в этом поле, вместо него можно использовать username* (но не одновременно с ним).

username*

Имя пользователя в расширенном формате, определенном в RFC5987. Его следует использовать только в том случае, если имя нельзя закодировать в username и если для userhash задано значение "false".

uri

Эффективный URI запроса. Дополнительные сведения см. в спецификации.

realm

Область, к которой относятся запрашиваемые имя пользователя и пароль (она должна совпадать со значением в соответствующем ответе WWW-Authenticate для запрашиваемого ресурса).

opaque

Значение из соответствующего ответа WWW-Authenticate для запрашиваемого ресурса.

algorithm

Алгоритм, используемый для вычисления дайджеста. Он должен поддерживаться и быть указан в ответе WWW-Authenticate для запрашиваемого ресурса.

qop

Токен, указывающий уровень защиты, примененный к сообщению. Он должен совпадать с одним из значений набора, указанного в ответе WWW-Authenticate для запрашиваемого ресурса.

  • "auth": аутентификация
  • "auth-int": аутентификация с защитой целостности
cnonce

Строковое значение в кавычках, содержащее только символы ASCII и предоставляемое клиентом. Оно используется и клиентом, и сервером для взаимной аутентификации, некоторой защиты целостности сообщений и предотвращения «атак с выбранным открытым текстом». Дополнительные сведения см. в спецификации.

nc

Счетчик nonce. Шестнадцатеричное число запросов, в которых клиент отправил текущее значение cnonce (включая текущий запрос). Сервер может распознавать повторно отправленные запросы по повторяющимся значениям nc.

userhash Необязательно

"true", если имя пользователя было хешировано. По умолчанию — "false".

Примеры

>

Базовая аутентификация

Для аутентификации Basic учетные данные формируются путем объединения имени пользователя и пароля через двоеточие (например, aladdin:opensesame), а затем кодирования полученной строки в base64 (например, YWxhZGRpbjpvcGVuc2VzYW1l).

Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l

Предупреждение: Кодирование в Base64 легко обратить, чтобы получить исходные имя и пароль, поэтому аутентификация Basic не обеспечивает криптографическую защиту. При использовании аутентификации всегда рекомендуется применять HTTPS, особенно при использовании аутентификации Basic.

Примеры настройки серверов Apache или Nginx для защиты сайта паролем с помощью базовой аутентификации HTTP см. в статье Аутентификация HTTP.

Спецификации

Спецификация
Семантика HTTP>
# field.authorization>

Совместимость с браузерами

Компьютеры Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android WebView на iOS
Basic 1 12 1 15 1 18 4 14 1 1.0 37 1
Digest 1 79 1 15 1 18 4 14 1 1.0 4.4 1
NTLM 1 79 1 15 ≤7 18 4 14 ≤7 1.0 4.4 ≤7
Negotiate 1 79 1 15 ≤7 18 4 14 ≤7 1.0 4.4 ≤7
Authorization 1 12 1 15 1 18 4 14 1 1.0 4.4 1
authorization_removed_cross_origin Нет Нет 111 Нет 16.1 Нет 111 Нет 16.1 Нет Нет 16.1

См. также

  • Аутентификация HTTP
  • WWW-Authenticate
  • Proxy-Authorization
  • Proxy-Authenticate
  • 401, 403, 407

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Authorization

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API