XMLHttpRequest: phương thức setPrivateToken()
Note: This feature is available in Web Workers, except for Service Workers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Phương thức XMLHttpRequest setPrivateToken() thêm thông tin private state token vào một lệnh gọi XMLHttpRequest, để bắt đầu các hoạt động private state token.
Cú pháp
setPrivateToken(privateToken)
Tham số
privateToken-
Một đối tượng chứa các tùy chọn để bắt đầu hoạt động private state token. Các thuộc tính có thể bao gồm:
issuersOptional-
Một mảng chuỗi chứa các URL của nhà phát hành mà bạn muốn chuyển tiếp bản ghi đổi thưởng. Cài đặt này bị bỏ qua trừ khi
operationđược đặt thànhsend-redemption-record, trong trường hợp đó mảngissuersphải được bao gồm. operation-
Một chuỗi đại diện cho loại hoạt động token bạn muốn bắt đầu. Các giá trị có thể là:
token-request-
Bắt đầu hoạt động yêu cầu token.
token-redemption-
Bắt đầu hoạt động đổi thưởng token.
send-redemption-record-
Bắt đầu hoạt động gửi bản ghi đổi thưởng.
refreshPolicyOptional-
Một giá trị được liệt kê chỉ định hành vi mong đợi khi một bản ghi đổi thưởng chưa hết hạn cho người dùng và trang web hiện tại đã được đặt trước đó. Cài đặt này bị bỏ qua trừ khi
operationđược đặt thànhtoken-redemption. Các giá trị có thể là: version-
Một số chỉ định phiên bản của giao thức mật mã bạn muốn sử dụng khi tạo token. Hiện tại giá trị này luôn được đặt thành
1, là phiên bản duy nhất mà đặc tả hỗ trợ. Khi chỉ định tùy chọnprivateToken, thuộc tính này là bắt buộc.
Giá trị trả về
Không có (undefined).
Ngoại lệ
InvalidStateErrorDOMException-
Được ném nếu
XMLHttpRequestliên kết không ở trạng thái đã mở, hoặcsend()đã được gọi trên nó. NotAllowedErrorDOMException-
Được ném nếu việc sử dụng các hoạt động Private State Token API bị cấm cụ thể bởi
private-state-token-issuancehoặcprivate-state-token-redemptionPermissions Policy. TypeError-
Được ném nếu
operationđược đặt thànhsend-redemption-record, và mảngissuesrỗng hoặc không được đặt, hoặc một hoặc nhiềuissuersđược chỉ định không phải là URL HTTPS đáng tin cậy.
Ví dụ
>Phát hành một private token
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();
}
Đổi thưởng một private token
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();
Chuyển tiếp một bản ghi đổi thưởng
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();
}
Các đặc tả kỹ thuật
| Specification |
|---|
| Private State Token API> # dom-xmlhttprequest-setprivatetoken> |