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

パラメーター

method
クライアントパブリックキーの生成に使用される暗号化メソッドです。現在、p256dhのみがオプションです。メソッドには次の値がが選べます:

戻り値

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

関連項目