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

View in English Always switch to English

XMLHttpRequest: setPrivateToken() Methode

Hinweis: Diese Funktion ist in Web Workers verfügbar, mit Ausnahme von Service Workers.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Die Methode setPrivateToken() von XMLHttpRequest fügt einem XMLHttpRequest-Aufruf Informationen zu einem privaten Status-Token hinzu, um private Status-Token-Operationen zu starten.

Syntax

js
setPrivateToken(privateToken)

Parameter

privateToken

Ein Objekt, das Optionen zum Starten einer privaten Status-Token-Operation enthält. Mögliche Eigenschaften sind:

issuers Optional

Ein Array von Strings, das die URLs der Herausgeber enthält, für die Sie Einlöseaufzeichnungen weiterleiten möchten. Diese Einstellung wird ignoriert, es sei denn, operation ist auf send-redemption-record gesetzt. In diesem Fall muss das issuers-Array enthalten sein.

operation

Ein String, der den Typ der Token-Operation darstellt, die Sie starten möchten. Mögliche Werte sind:

token-request

Startet eine Token-Anfrage.

token-redemption

Startet eine Token-Einlösung.

send-redemption-record

Startet eine Weiterleitung einer Einlöseaufzeichnung.

refreshPolicy Optional

Ein enumerierter Wert, der das erwartete Verhalten angibt, wenn ein nicht abgelaufenes Einlöse-Dokument für den aktuellen Benutzer und die Seite zuvor festgelegt wurde. Diese Einstellung wird ignoriert, es sei denn, operation ist auf token-redemption gesetzt. Mögliche Werte sind:

none

Das zuvor festgelegte Einlöse-Dokument sollte verwendet werden, und ein neues sollte nicht ausgestellt werden. Dies ist der Standardwert.

refresh

Ein neues Einlöse-Dokument wird immer ausgestellt.

version

Eine Zahl, die die Version des kryptografischen Protokolls angibt, das Sie bei der Token-Generierung verwenden möchten. Derzeit ist dies immer auf 1 gesetzt, die einzige Version, die die Spezifikation unterstützt. Bei Angabe der privateToken-Option ist diese Eigenschaft obligatorisch.

Rückgabewert

Keiner (undefined).

Ausnahmen

InvalidStateError DOMException

Wird ausgelöst, wenn das zugehörige XMLHttpRequest sich nicht in einem geöffneten Zustand befindet oder send() bereits aufgerufen wurde.

NotAllowedError DOMException

Wird ausgelöst, wenn die Verwendung von Private State Token API-Operationen ausdrücklich durch eine private-state-token-issuance oder private-state-token-redemption Berechtigungsrichtlinie ausgeschlossen ist.

TypeError

Wird ausgelöst, wenn operation auf send-redemption-record gesetzt ist und das issues-Array leer oder nicht gesetzt war oder einer oder mehrere der angegebenen issuers keine vertrauenswürdigen HTTPS-URLs sind.

Beispiele

Ausstellen eines privaten Tokens

js
const hasToken = await Document.hasPrivateToken(`issuer.example`);
if (!hasToken) {
  const request = new XMLHttpRequest();
  request.open(
    "POST",
    "https://issuer.example/.well-known/private-state-token/issuance",
  );
  request.setPrivateToken({
    version: 1,
    operation: "token-request",
  });
  req.send();
}

Einlösen eines privaten Tokens

js
const request = new XMLHttpRequest();
request.open(
  "POST",
  "https://issuer.example/.well-known/private-state-token/redemption",
);
request.setPrivateToken({
  version: 1,
  operation: "token-redemption",
  refreshPolicy: "none",
});
req.send();

Weiterleiten einer Einlöseaufzeichnung

js
const hasRR = await Document.hasRedemptionRecord(`issuer.example`);
if (hasRR) {
  const request = new XMLHttpRequest();
  request.open("POST", "some-resource.example");
  request.setPrivateToken({
    version: 1,
    operation: "send-redemption-record",
    issuers: ["https://issuer.example"],
  });
  req.send();
}

Spezifikationen

Specification
Private State Token API
# dom-xmlhttprequest-setprivatetoken

Browser-Kompatibilität

Siehe auch