--- title: PushSubscription.getKey() slug: Web/API/PushSubscription/getKey tags: - API - Experimental - Method - Non-standard - Push - Push API - PushSubscription - Reference - Service Workers - getKey translation_of: Web/API/PushSubscription/getKey ---
{{SeeCompatTable}}{{APIRef("Push API")}}
{{domxref("PushSubscription")}} インターフェースの getKey() メソッドは、サーバに送信されてプッシュメッセージデータを暗号化するために使用される、クライアントパブリックキーを表す {{domxref("ArrayBuffer")}} を返します。
ノート: 現在、Firefox のみの実装であり、まだ Push API 仕様には含まれていません。
var key = subscription.getKey(method);
p256dhのみがオプションです。メソッドには次の値がが選べます:
p256dh: P-256 曲線の 楕円曲線ディフィー・ヘルマン鍵共有(つまり、NIST secp256r1 楕円曲線)。結果としてられるキーは、ANSI X9.62 フォーマットで非圧縮ポイントとなります。{{domxref("ArrayBuffer")}}。
Push API デモでは、プッシュメッセージデータの暗号化とサーバから特定のサブスクライバにプッシュメッセージを送信するために必要な認証を得るために、getKey('p256dh') と {{domxref("PushSubscription.endpoint")}} を呼び出しています。
reg.pushManager.getSubscription()
.then(function(subscription) {
// プッシュメッセージからサブスクライブ / アンサブスクライブ
// する任意の UI を有効にする
subBtn.disabled = false;
if (!subscription) {
console.log('Not yet subscribed to Push')
// プッシュを購読していない場合、ユーザーがプッシュできるように
// UI を設定する。
return;
}
// プッシュメッセージを購読していることを表示するように
// UI を設定する。
subBtn.textContent = 'Unsubscribe from Push Messaging';
isPushEnabled = true;
// 購読ステータスのための UI 要素の設定を含んで状態を初期化し、
// プッシュ経由でサブスクライバーを更新する。
var endpoint = subscription.endpoint;
var key = subscription.getKey('p256dh');
...
| 仕様 | 状態 | コメント |
|---|---|---|
| {{SpecName('Push API')}} | {{Spec2('Push API')}} | これは Push API 仕様ですが、getKey() はここに含まれていないことに注意してください。現在は、Firefox だけの実験実装です。 |
{{Compat("api.PushSubscription.getKey")}}