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.

Die XMLHttpRequest-Methode setPrivateToken() fügt einem XMLHttpRequest-Aufruf Informationen zum Private State Token hinzu, um private State-Token-Operationen zu initiieren.

Syntax

js
setPrivateToken(privateToken)

Parameter

privateToken

Ein Objekt, das Optionen für die Initiierung einer privaten State-Token-Operation enthält. Mögliche Eigenschaften umfassen:

issuers Optional

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

operation

Ein String, der die Art der Token-Operation darstellt, die Sie initiieren möchten. Mögliche Werte sind:

token-request

Initiiert eine Token-Anforderung-Operation.

token-redemption

Initiiert eine Token-Einlösung-Operation.

send-redemption-record

Initiiert eine Einlösungsdatensatz senden-Operation.

refreshPolicy Optional

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

none

Der zuvor festgelegte Einlösungsdatensatz sollte verwendet werden, und ein neuer sollte nicht ausgegeben werden. Dies ist der Standardwert.

refresh

Ein neuer Einlösungsdatensatz wird immer ausgegeben.

version

Eine Zahl, die die Version des kryptografischen Protokolls angibt, das Sie verwenden möchten, wenn Sie ein Token generieren. Derzeit ist dies immer auf 1 gesetzt, was die einzige Version ist, die die Spezifikation unterstützt. Wenn Sie die privateToken-Option angeben, 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 darauf aufgerufen wurde.

NotAllowedError DOMException

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

TypeError

Wird ausgelöst, wenn die operation auf send-redemption-record gesetzt ist und das issuers-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 eines Einlösungsdatensatzes

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