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.
The getKey() method of the PushSubscription interface returns an ArrayBuffer representing a client public key, which can then be sent to a server and used in encrypting push message data.
Syntax
getKey(name) Parameters
name-
A string representing the encryption method used to generate a client key. The value can be:
p256dh-
An Elliptic curve Diffie–Hellman public key on the P-256 curve (that is, the NIST secp256r1 elliptic curve). The resulting key is an uncompressed point in ANSI X9.62 format.
auth-
An authentication secret, as described in Message Encryption for Web Push.
Return value
An ArrayBuffer or null if no public key can be found.
Examples
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"); // … }); Specifications
| Specification |
|---|
| Push API> # dom-pushsubscription-getkey> |