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.
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 der PushSubscription
-Schnittstelle gibt einen ArrayBuffer
zurück, der einen öffentlichen Schlüssel des Clients repräsentiert. 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 Erzeugung eines Client-Schlü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 unkomprimierter Punkt im ANSI X9.62-Format.
auth
-
Ein Authentifizierungsgeheimnis, wie in Message Encryption for Web Push beschrieben.
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 |