--- title: Access-Control-Allow-Credentials slug: Web/HTTP/Headers/Access-Control-Allow-Credentials tags: - Access-Control-Allow-Credencials - CORS - HTTP - Referencia - credenciales - encabezado translation_of: Web/HTTP/Headers/Access-Control-Allow-Credentials ---
El encabezado de respuesta Access-Control-Allow-Credentials
le dice al navegador si exponer la respuesta al código JavaScript (del frontend) cuando el modo credenciales en la petición es incluído.
Cuando las credenciales de una petición ({{domxref("Request.credentials")}}) es include
, los navegadores sólo expondran la respuesta al código JavaScript del frontend si el valor de Access-Control-Allow-Credentials
es true
.
Las credenciales son cookies, encabezados de autorización o certíficados de cliente TLS.
Cuando se usa como parte de una respueste a una petición previa, indica si la petición real puede ser hecha utilizando credenciales. Note que peticiones {{HTTPMethod("GET")}} sencillas no tienen una solicitud previa, y por lo tanto, una petición es hecha por un recurso con credenciales, si el encabezado no regresa con el recurso, la respuesta es ignorada por el navegador y no es devuelto como contenido web.
El encabezado Access-Control-Allow-Credentials
trabaja en conjunción con la propiedad {{domxref("XMLHttpRequest.withCredentials")}} o con la opción credentials
en el constructor {{domxref("Request.Request()", "Request()")}} de la API Fetch. Para una petición CORS con credenciales, para que el navegador exponga la respuesta al código JavaScript del fronend, tanto el servidor (utilizando el encabezado Access-Control-Allow-Credentials
) y el cliente (al configurar el modo de las credenciales para peticiones XHR, Fetch, o Ajax) se debe indicar que estan permitiendo la inclusión de credenciales.
Tipo de encabezado | {{Glossary("Response header", "Respuesta del encabezado")}} |
---|---|
{{Glossary("Forbidden header name", "Nombre prohibido del encabezado")}} | no |
Access-Control-Allow-Credentials: true
true
(en minúsculas). Si no se necesitan credenciales, se debe omitir este encabezado (en lugar de colocar su valor como false
).Permitir credenciales:
Access-Control-Allow-Credentials: true
Utilizando XHR con credenciales:
var xhr = new XMLHttpRequest(); xhr.open('GET', 'http://example.com/', true); xhr.withCredentials = true; xhr.send(null);
Utilizando Fetch con credenciales:
fetch(url, { credentials: 'include' })
Especifiación | Estado | Comentario |
---|---|---|
{{SpecName('Fetch','#http-access-control-allow-credentials', 'Access-Control-Allow-Credentials')}} | {{Spec2("Fetch")}} | Definición inicial |
{{Compat("http.headers.Access-Control-Allow-Credentials")}}