PushSubscription: getKey() Methode
Baseline 2023Newly available
Since March 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
Please help us by answering a few questions.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die getKey()
-Methode des PushSubscription
Interfaces gibt ein ArrayBuffer
zurück, das einen öffentlichen Schlüssel des Clients darstellt. Dieser kann dann an einen Server gesendet und zur Verschlüsselung von Push-Nachrichtendaten verwendet werden.
Syntax
getKey(name)
Parameter
name
-
Ein String, der die Verschlüsselungsmethode repräsentiert, die zur Generierung eines Clientschlüssels verwendet wird. Der Wert kann sein:
p256dh
-
Ein Elliptic curve Diffie–Hellman öffentlicher Schlüssel auf der P-256-Kurve (das heißt, der NIST secp256r1 elliptischen Kurve). Der resultierende Schlüssel ist ein nicht komprimierter Punkt im ANSI X9.62 Format.
auth
-
Ein Authentifizierungsgeheimnis, wie es in Message Encryption for Web Push beschrieben ist.
Rückgabewert
Ein ArrayBuffer
oder null
, wenn kein öffentlicher Schlüssel gefunden werden kann.
Beispiele
reg.pushManager.getSubscription().then((subscription) => {
// Enable any UI which subscribes / unsubscribes from
// push messages.
subBtn.disabled = false;
if (!subscription) {
console.log("Not yet subscribed to Push");
// We aren't subscribed to push, so set UI
// to allow the user to enable push
return;
}
// Set your UI to show they have subscribed for
// push messages
subBtn.textContent = "Unsubscribe from Push Messaging";
isPushEnabled = true;
// initialize status, which includes setting UI elements for subscribed status
// and updating Subscribers list via push
const endpoint = subscription.endpoint;
const key = subscription.getKey("p256dh");
const auth = subscription.getKey("auth");
// ...
});
Spezifikationen
Specification |
---|
Push API # dom-pushsubscription-getkey |