Spec-Zone.ru › HTTP

Разрешение доступа к учётным данным

Разрешение доступа к учётным данным

Заголовок ответа Access-Control-Allow-Credentials сообщает браузерам, следует ли отображать ответ коду JavaScript на стороне клиента, когда режим авторизации запроса (Request.credentials) равен include.

Когда режим авторизации запроса (Request.credentials) равен include, браузеры будут отображать ответ коду JavaScript на стороне клиента только в том случае, если значение Access-Control-Allow-Credentials равно true.

Учётные данные включают куки, заголовки авторизации или TLS-сертификаты клиента.

Когда используется в ответе на предварительный запрос, это указывает, может ли фактический запрос быть выполнен с использованием учётных данных. Обратите внимание, что простые запросы GET не являются предварительными. Таким образом, если запрос на ресурс с учётными данными выполняется, и этот заголовок не возвращается с ресурсом, браузер игнорирует ответ и не возвращает его веб-контенту.

Заголовок Access-Control-Allow-Credentials работает совместно со свойством XMLHttpRequest.withCredentials или с опцией credentials в конструкторе Request() API Fetch. Для запроса CORS с учётными данными, чтобы браузеры отобразили ответ коду JavaScript на стороне клиента, и сервер (используя заголовок Access-Control-Allow-Credentials ), и клиент (установив режим авторизации для запроса XHR, Fetch или Ajax) должны указать, что они согласны включать учётные данные.

Тип заголовка Заголовок ответа
Запрещённое имя заголовка нет

Синтаксис

Access-Control-Allow-Credentials: true

Директивы

true

Единственное допустимое значение для этого заголовка — true (регистрозависимое). Если вам не нужны учётные данные, полностью опустите этот заголовок (а не задавайте его значение false).

Примеры

Разрешение учётных данных:

Access-Control-Allow-Credentials: true

Использование XHR с учётными данными:

const xhr = new XMLHttpRequest();
xhr.open('GET', 'http://example.com/', true);
xhr.withCredentials = true;
xhr.send(null);

Использование Fetch с учётными данными:

fetch(url, {
  credentials: 'include'
})

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

Спецификация
Fetch Стандарт
# http-access-control-allow-credentials

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari на iOS Samsung Internet
Access-Control-Allow-Credentials
4
12
3.5
10
12
4
2
Да
4
12
3.2
Да

См. также

  • XMLHttpRequest.withCredentials
  • Request()

© 2005–2022 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials

Spec-Zone.ru

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