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