PushSubscription.getKey()

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

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

const key = subscription.getKey(name);

Parameters

name

A DOMString representing the encryption method used to generate a client key. The value can be:

Returns

An ArrayBuffer.

Example

reg.pushManager.getSubscription()
  .then(function(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
  var endpoint = subscription.endpoint;
  var key = subscription.getKey('p256dh');
  var auth = subscription.getKey('auth');

    ...

Specifications

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
16
44
Extended Support Releases (ESR) before Firefox 78 ESR do not support service workers and the Push API.
No
29
No
No
42
48
29
No
4.0

© 2005–2021 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