Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Access-Control-Allow-Credentials header

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨Juli 2015⁩.

Der HTTP Access-Control-Allow-Credentials Response-Header teilt den Browsern mit, ob der Server erlaubt, dass Anmeldedaten in Cross-Origin-HTTP-Anfragen eingeschlossen werden.

Anmeldedaten umfassen Cookies, Transport Layer Security (TLS) Client-Zertifikate oder Authentifizierungsheader, die einen Benutzernamen und ein Passwort enthalten. Standardmäßig werden diese Anmeldedaten nicht in Cross-Origin-Anfragen gesendet, da dies eine Seite anfällig für Cross-Site Request Forgery (CSRF) Angriffe machen kann.

Ein Client kann auf mehrere Arten darum bitten, dass Anmeldedaten in Cross-Site-Anfragen einbezogen werden:

Wenn Anmeldedaten einbezogen werden:

  • Für Preflighted Anfragen: Die Vorab-Anfrage enthält keine Anmeldedaten. Wenn die Server-Antwort auf die Vorab-Anfrage den Access-Control-Allow-Credentials Header auf true setzt, wird die tatsächliche Anfrage Anmeldedaten enthalten; andernfalls meldet der Browser einen Netzwerkfehler.
  • Für nicht vorabgeprüfte Anfragen: Die Anfrage enthält Anmeldedaten, und wenn die Server-Antwort den Access-Control-Allow-Credentials Header nicht auf true setzt, meldet der Browser einen Netzwerkfehler.
Header-Typ Response-Header

Syntax

http
Access-Control-Allow-Credentials: true

Direktiven

true

Der Server erlaubt, dass Anmeldedaten in Cross-Origin HTTP-Anfragen enthalten sind. Dies ist der einzige gültige Wert für diesen Header und ist groß- und kleinschreibungssensitiv. Wenn Sie keine Anmeldedaten benötigen, lassen Sie diesen Header vollständig weg, anstatt seinen Wert auf false zu setzen.

Beispiele

Anmeldedaten erlauben:

http
Access-Control-Allow-Credentials: true

Verwendung von fetch() mit Anmeldedaten:

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

Verwendung von XMLHttpRequest mit Anmeldedaten:

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

Spezifikationen

Specification
Fetch
# http-access-control-allow-credentials

Browser-Kompatibilität

Siehe auch