HTTP Permissions-Policy magnetometer

Typ

Die magnetometer-Direktive steuert den Zugriff auf die Magnetometer Sensor API zur Messung des magnetischen Felds.

Syntax

Die Direktive definiert eine Allowlist für Ursprünge, die Magnetometer-Daten abfragen dürfen.

http
Permissions-Policy: magnetometer=(self)
Permissions-Policy: magnetometer=(self "https://maps.navigation.com")
Permissions-Policy: magnetometer=()

Direktiven

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

self
Erlaubt Magnetometer-Zugriff 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://ar-app.example.com", die zusätzlich zum Hauptdokument Magnetometer-Zugriff erhalten. Für AR-Anwendungen mit Kompass.

Beispiele

Die folgenden Beispiele zeigen typische Anwendungsfälle für Navigations-Apps, AR-Anwendungen und Kompass-Funktionen.

Navigation-App mit Kompass-Funktion

Eine Web-Navigations-App nutzt Magnetometer für Kompass-Ausrichtung und Richtungsanzeige.

http
HTTP/1.1 200 OK
Content-Type: text/html
Permissions-Policy: magnetometer=(self), geolocation=(self), gyroscope=(self)

<!DOCTYPE html>
<html>
<head><title>Navigation</title></head>
<body>
  <div id="compass">North: --°</div>
  <script>
    const magnetometer = new Magnetometer({frequency: 10});
    magnetometer.addEventListener('reading', () => {
      const x = magnetometer.x;
      const y = magnetometer.y;
      const z = magnetometer.z;
      const heading = Math.atan2(y, x) * (180 / Math.PI);
      document.getElementById('compass').textContent = `North: ${heading.toFixed(0)}°`;
    });
    magnetometer.start();
  </script>
</body>
</html>

AR-App mit Orientierungs-Tracking

Eine AR-Anwendung kombiniert Magnetometer mit anderen Sensoren für präzise Orientierung.

http
HTTP/1.1 200 OK
Content-Type: text/html
Permissions-Policy: magnetometer=(self "https://ar-engine.example.com")

<!DOCTYPE html>
<html>
<head><title>AR Experience</title></head>
<body>
  <iframe src="https://ar-engine.example.com/viewer"
          allow="magnetometer; accelerometer; gyroscope"></iframe>
</body>
</html>

REST-API ohne Sensor-Zugriff

Ein API-Endpunkt deaktiviert alle Motion- und Orientierungs-Sensoren.

http
HTTP/1.1 200 OK
Content-Type: application/json
Permissions-Policy: magnetometer=(), accelerometer=(), gyroscope=()

{
  "status": "success",
  "location_data": {}
}

Vorteile für die Systemarchitektur

  • Ermöglicht präzise Kompass-Funktionalität für Navigations-Apps
  • Verhindert Fingerprinting durch magnetische Feld-Kalibrierungsdaten
  • Unterstützt Orientierungs-Tracking für AR/VR-Anwendungen
  • Reduziert unerwünschten Sensor-Zugriff durch Drittanbieter

Spezifikation

Definiert in der W3C Generic Sensor API und Magnetometer Spezifikation. Verfügbar in modernen Browsern mit Sensor-Support. Erfordert HTTPS.

Weitere Spezifikationen

Permissions-Policy Header, Content-Security-Policy Header