HTTP Access-Control-Allow-Credentials Header

Der HTTP-Header Access-Control-Allow-Credentials ist ein Response-Header, der angibt, ob der Browser Credentials (Cookies, Authorization-Header, TLS-Client-Zertifikate) bei Cross-Origin-Requests mit der Response teilen darf. Er ist erforderlich für authentifizierte CORS-Requests.

Typ

Response-Header

Syntax

Der Header hat nur einen gültigen Wert zur Aktivierung von Credentials.

http
Access-Control-Allow-Credentials: true

Direktiven

Die einzige Direktive aktiviert oder deaktiviert Credentials bei CORS-Requests.

true
Browser darf Credentials in Cross-Origin-Requests senden und in Responses verarbeiten. Erfordert spezifische Origin in Access-Control-Allow-Origin.
false (implizit)
Wenn der Header fehlt oder ein anderer Wert gesetzt ist, werden Credentials blockiert.

Beispiele

Nachfolgend finden Sie praktische Anwendungsbeispiele für den Access-Control-Allow-Credentials-Header.

Beispiel 1 API mit Session-Cookies

http
Access-Control-Allow-Origin: https://app.example.com
Access-Control-Allow-Credentials: true

API erlaubt Cross-Origin-Requests mit Cookies von der spezifischen Origin. Wildcard * ist nicht erlaubt bei Credentials.

Beispiel 2 Preflight Response mit Authorization

http
Access-Control-Allow-Origin: https://partner.example.com
Access-Control-Allow-Methods: GET, POST, PUT
Access-Control-Allow-Headers: Authorization, Content-Type
Access-Control-Allow-Credentials: true

Preflight-Response erlaubt Requests mit Authorization-Header. Client kann JWT-Token in Cross-Origin-Requests senden.

Beispiel 3 Fehlerfall Wildcard mit Credentials

http
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true

Ungültige Kombination, Browser blockiert Request mit Fehlermeldung. Bei Credentials muss Origin spezifisch sein.

CORS Credentials Flow

CORS Flow mit Credentials und Cookie-Handling

Vorteile für die Systemarchitektur

  • Sichere Authentifizierung: Ermöglicht Session-basierte und Token-basierte Auth bei Cross-Origin APIs
  • Flexible Frontend-Architektur: API und Webanwendung können auf verschiedenen Domains laufen
  • Granulare Zugriffskontrolle: Präzise Steuerung welche Origins authentifizierte Zugriffe erhalten

Spezifikation

Fetch Standard – CORS Protocol and Credentials https://fetch.spec.whatwg.org/#http-access-control-allow-credentials

Weitere Spezifikationen

Access-Control-Allow-Origin Header, Cookie Header, Authorization Header