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.
On this page
PushSubscription: getKey() method
Syntax
js
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
js
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 |
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
getKey |
42 | 17 | 44 | No | 29 |
16Supported on macOS 13 and later |
No | 42 | 48 | 29 | 16.4 | 4.0 |
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/PushSubscription/getKey