PushSubscription: getKey() method
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2023.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
Phương thức getKey() của giao diện PushSubscription
trả về một ArrayBuffer biểu diễn khóa công khai của máy khách, sau đó
có thể được gửi đến máy chủ và dùng để mã hóa dữ liệu thông điệp đẩy.
Cú pháp
getKey(name)
Tham số
name-
Một chuỗi đại diện cho phương thức mã hóa được dùng để tạo khóa máy khách. Giá trị có thể là:
p256dh-
Một khóa công khai Elliptic curve Diffie–Hellman trên đường cong P-256 (tức đường cong elliptic secp256r1 của NIST). Khóa thu được là một điểm không nén theo định dạng ANSI X9.62.
auth-
Một bí mật xác thực, như được mô tả trong Message Encryption for Web Push.
Giá trị trả về
Một ArrayBuffer hoặc null nếu không tìm thấy khóa công khai nào.
Ví dụ
reg.pushManager.getSubscription().then((subscription) => {
// Bật bất kỳ giao diện người dùng nào cho phép đăng ký/hủy đăng ký
// nhận thông điệp đẩy.
subBtn.disabled = false;
if (!subscription) {
console.log("Chưa đăng ký Push");
// Chúng ta chưa đăng ký push, vì vậy thiết lập giao diện
// để cho phép người dùng bật push
return;
}
// Thiết lập giao diện để cho thấy họ đã đăng ký
// nhận thông điệp đẩy
subBtn.textContent = "Hủy đăng ký Push Messaging";
isPushEnabled = true;
// khởi tạo trạng thái, bao gồm thiết lập các phần tử giao diện cho trạng thái đã đăng ký
// và cập nhật danh sách Subscribers qua push
const endpoint = subscription.endpoint;
const key = subscription.getKey("p256dh");
const auth = subscription.getKey("auth");
// …
});
Thông số kỹ thuật
| Specification |
|---|
| Push API> # dom-pushsubscription-getkey> |