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
setPrivateToken(privateToken)
Parameter
privateToken-
Ein Objekt, das Optionen zum Starten einer privaten Status-Token-Operation enthält. Mögliche Eigenschaften sind:
issuersOptional-
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,
operationist aufsend-redemption-recordgesetzt. In diesem Fall muss dasissuers-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.
refreshPolicyOptional-
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,
operationist auftoken-redemptiongesetzt. Mögliche Werte sind: version-
Eine Zahl, die die Version des kryptografischen Protokolls angibt, das Sie bei der Token-Generierung verwenden möchten. Derzeit ist dies immer auf
1gesetzt, die einzige Version, die die Spezifikation unterstützt. Bei Angabe derprivateToken-Option ist diese Eigenschaft obligatorisch.
Rückgabewert
Keiner (undefined).
Ausnahmen
InvalidStateErrorDOMException-
Wird ausgelöst, wenn das zugehörige
XMLHttpRequestsich nicht in einem geöffneten Zustand befindet odersend()bereits aufgerufen wurde. NotAllowedErrorDOMException-
Wird ausgelöst, wenn die Verwendung von Private State Token API-Operationen ausdrücklich durch eine
private-state-token-issuanceoderprivate-state-token-redemptionBerechtigungsrichtlinie ausgeschlossen ist. TypeError-
Wird ausgelöst, wenn
operationaufsend-redemption-recordgesetzt ist und dasissues-Array leer oder nicht gesetzt war oder einer oder mehrere der angegebenenissuerskeine vertrauenswürdigen HTTPS-URLs sind.
Beispiele
>Ausstellen eines privaten Tokens
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
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
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> |