docs.rodeo

MDN Web Docs mirror

Access-Control-Allow-Credentials

{{HTTPSidebar}} 

The HTTP Access-Control-Allow-Credentials {{Glossary("response header")}}  tells browsers whether the server allows credentials to be included in cross-origin HTTP requests.

Credentials include cookies, {{glossary("TLS", "Transport Layer Security (TLS)")}}  client certificates, or authentication headers containing a username and password. By default, these credentials are not sent in cross-origin requests, and doing so can make a site vulnerable to {{Glossary("CSRF", "Cross-Site Request Forgery (CSRF)")}}  attacks.

A client can ask for credentials to be included in cross-site requests in several ways:

When credentials are included:

Header type `{{Glossary("Response header")}}` 
`{{Glossary("Forbidden header name")}}`  No

Syntax

Access-Control-Allow-Credentials: true

Directives

Examples

Allow credentials:

Access-Control-Allow-Credentials: true

Using {{domxref("Window/fetch", "fetch()")}}  with credentials:

fetch(url, {
  credentials: "include",
});

Using {{domxref("XMLHttpRequest")}}  with credentials:

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

Specifications

{{Specifications}} 

Browser compatibility

{{Compat}} 

See also

In this article

View on MDN