Метод 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