Spec-Zone.ru › Web APIs

Метод PushSubscription: getKey()

Базовая версия 2023
Новое

С марта 2023 года эта функция работает на последних версиях устройств и браузеров. Возможно, эта функция не будет работать на старых устройствах или браузерах.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS), в некоторых или во всех поддерживающих браузерах.

Примечание: Эта функция доступна в Web Workers.

Метод getKey() интерфейса PushSubscription возвращает ArrayBuffer, представляющий открытый ключ клиента, который затем можно отправить на сервер и использовать для шифрования данных push-сообщений.

Синтаксис

getKey(name)

Параметры

name

Строка, представляющая метод шифрования, используемый для генерации ключа клиента. Значение может быть:

p256dh

Открытый ключ эллиптической кривой Диффи-Хеллмана на кривой P-256 (т. е. кривой эллиптических кривых NIST secp256r1). Результирующий ключ — это нескомпрессированная точка в формате ANSI X9.62.

auth

Секретный ключ аутентификации, как описано в Message Encryption for Web Push.

Возвращаемое значение

ArrayBuffer или null, если открытый ключ не найден.

Примеры

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");

  // ...
});

Спецификации

Спецификация
Push API
# dom-pushsubscription-getkey

Совместимость с браузерами

Рабочий стол Мобильный
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
getKey 42 17 44 29
16Уведомления поддерживаются в macOS Ventura и новее.
42 48 29
16.4Уведомления поддерживаются в веб-приложениях, сохранённых на главном экране.
4.0 Нет

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API