GCM/FCMとVAPIDの2つのキーが異なるのはなぜですか?
GCM/FCM APIキーは、従来の標準ではない認証方法です。 新しいプロジェクトの場合(standard)を使用して、プッシュサービス(例:FCM、Mozilla autopush)でウェブアプリケーションを認証する自動方法です。
基本的にVAPIDを使用すると、通知をプッシュするようにユーザーをサブスクライブすると、エンドポイントに公開キーが関連付けられます。そのエンドポイントに通知を送信する場合は、秘密鍵でメッセージに署名する必要があります。
私はPushpadで働いています。私は数ヶ月前にGCM/FCMのapiキーからVAPIDに移行しました。これで、プッシュパッドを使用する場合、VAPIDのすべての設定が自動的に行われるため、VAPIDを手動で設定する必要はありません。 check it outに強くお勧めします。
クライアントからサーバーにサブスクリプションキーを取得したら、それらをデータベースに格納する必要がありますか?それらを保存するために使用できる他の方法はありますか?おそらく
あなたはキーの2種類が混乱している:
- つまらない鍵ペア:あなたは一度、サーバー上でそれを生成します。 Javascriptを使用してユーザーにWebプッシュ通知をサブスクライブすると、公開キーがすべてのエンドポイントに関連付けられます。サーバー上に秘密鍵を保持し、送信する通知に署名するために使用する
- 通知ペイロードに署名するために使用される鍵:これらの鍵はクライアントごとに異なり、終点。 ペイロードを送信する場合にのみ、これらのキーが必要です;それ以外の場合はつまらないキーをサポートしていません。あなただけの信号を送信することができ、その後、サービス従事者が独自のアプリケーション・サーバ
から未読の通知をダウンロードするための責任があることは、「FCM-プッシュ」パッケージのように見え、 iOSとAndroid用のドキュメントのみが書かれています。
FCMもネイティブアプリケーションにプッシュ通知を送信するために使用されますが、つまらないだけでウェブプッシュするための規格です。おそらく、その宝石はネイティブアプリで使用されることを意図されており、ウェブプッシュでは使用されないということです。
一方、「web-push」パッケージはFCMをサポートしていません。
はい、標準であるVAPIDを使用する必要があるためです。 FCMもVAPIDをサポートしています。
注:他の回答で述べたように、「ウェブ・プッシュ」パッケージは、おそらくあまりにもFCMをサポートしています - しかし、私はIETF標準でつまらないを、使用(新しいプロジェクトのためのFCMのAPIキーを使用することをお勧めしません! )
あなたは、私がユーザーを購読するときにすべてのエンドポイントにVAPID公開鍵を関連付ける必要があると言いました。あなたはそれを結びつけることによって正確に何を意味しますか?
あなたはこれらの記事でつまらない詳細を読むことができます:
web-pushはVAPIDとFCMをサポートしています。 – Marco
好奇心の渦中に、ウェブプッシュがFCMをサポートしていないと思われた点は何ですか? – Marco