HTTP Permissions-Policy storage-access

Typ

Die storage-access-Direktive steuert den Zugriff auf die Storage Access API für Third-Party-Cookie-Nutzung in iFrames.

Syntax

Die Direktive definiert eine Allowlist für Ursprünge, die Storage Access anfordern dürfen.

http
Permissions-Policy: storage-access=(self)
Permissions-Policy: storage-access=(self "https://embedded.example.com")
Permissions-Policy: storage-access=()

Direktiven

Die Direktive unterstützt Standard-Allowlist-Werte für präzise Zugriffssteuerung.

self
Erlaubt Storage-Access-Anfragen nur für das Hauptdokument des gleichen Ursprungs. Eingebettete iFrames von anderen Ursprüngen werden blockiert.
origin-list
Liste von Ursprüngen in Anführungszeichen, z.B. "https://widget.auth-provider.example.com", die zusätzlich zum Hauptdokument Storage-Access anfordern dürfen. Für Embedded-Auth-Widgets.

Beispiele

Die folgenden Beispiele zeigen typische Anwendungsfälle für SSO-Widgets, Payment-Embeds und Cross-Site-Authentication.

Embedded SSO-Widget mit Storage Access

Ein SSO-Widget in einem iFrame fordert Storage Access für Third-Party-Cookies an.

http
HTTP/1.1 200 OK
Content-Type: text/html
Permissions-Policy: storage-access=(self "https://sso.identity-provider.example.com")

<!DOCTYPE html>
<html>
<head><title>Partner Portal</title></head>
<body>
  <iframe src="https://sso.identity-provider.example.com/login-widget"
          allow="storage-access"></iframe>
  <script>
    // In the iframe context:
    // document.requestStorageAccess().then(() => {
    //   // Access cookies for authentication
    // });
  </script>
</body>
</html>

Payment-Widget mit Cross-Site-State

Ein Payment-Provider-Widget erhält Storage Access für Checkout-Session-Management.

http
HTTP/1.1 200 OK
Content-Type: text/html
Permissions-Policy: storage-access=(self "https://checkout.payment.example.com")

<!DOCTYPE html>
<html>
<head><title>E-Commerce Checkout</title></head>
<body>
  <iframe src="https://checkout.payment.example.com/widget"
          allow="storage-access"
          sandbox="allow-storage-access-by-user-activation allow-scripts allow-same-origin"></iframe>
</body>
</html>

Privacy-First API ohne Storage Access

Ein API-Endpunkt deaktiviert Storage Access für maximale Privacy.

http
HTTP/1.1 200 OK
Content-Type: application/json
Permissions-Policy: storage-access=()

{
  "status": "success",
  "session_token": "token123"
}

Vorteile für die Systemarchitektur

  • Ermöglicht legitime Cross-Site-Authentication mit Nutzer-Consent
  • Verhindert unerwünschten Third-Party-Cookie-Zugriff ohne Permission
  • Unterstützt Privacy-freundliche Embedded-Widget-Integration
  • Reduziert Cross-Site-Tracking durch explizite Access-Anforderung

Spezifikation

Definiert in der W3C Storage Access API Spezifikation. Erfordert User-Gesture und Nutzer-Permission. Browser-Support variiert. Alternative zu Third-Party-Cookie-Deprecation.

Weitere Spezifikationen

Permissions-Policy Header, Content-Security-Policy Header