2017-01-09 12 views
2

Webプッシュ用のFirebase Cloud Messaging登録トークンを取得しました。 そして、これを私のサーバーに送って、後でプッシュするためにデータベースに保存しました。 しかし、このトークンが正当か偽であることを確認するにはどうすればよいですか?サーバー上のFCM登録トークンを確認する方法は?

私はthisを試しましたが、これはWebプッシュ用ではないAuthトークン用だと思います。

誰かが私のサーバーにランダムな偽のトークンの要求を送ることができます。私はdbで保存する前にこれを防ぐ必要があります。

編集:それは解決され、私はFCMをWebプッシュにすばやく使用するクラスを作成しました。 無効登録トークンを送信するとき https://github.com/emretekince/fcm-web-push

答えて

3

、あなたは200 + error:InvalidRegistrationを受ける必要があります:

サーバーに渡す登録トークンの形式を確認してください。クライアントアプリケーションがFirebase通知の登録から受け取る登録トークンと一致することを確認してください。文字を切り捨てたり、追加したりしないでください。私はregistration_idsパラメータで、"ABC"に追加

curl --header "Authorization: key=$[your_server_key_here]" \ 
     --header Content-Type:"application/json" \ 
     https://fcm.googleapis.com/fcm/send \ 
     -d "{\"registration_ids\":[\"ABC\"]}" 

注意:あなたが登録トークンがちょうどランダムに行われる簡単なcURLの要求を送信しようとすると、

この

は応答です。それが有効な登録トークンであってもプロジェクトに関連付けられていない場合は、おそらく 200 + error:NotRegisteredが返されます。

あなたはdry_runパラメータを使用して、デバイスに向けた実際のメッセージを送信せずに応答を確認するために、サーバーからテストメッセージを送信してみてくださいすることができます

このパラメータをtrueに設定すると、開発者がテストすることができます実際にメッセージを送信することなくリクエスト

2

ALで説明されているように、dry_runオプション= trueのメッセージを送信する方法もあります。他の答えで。
https://developers.google.com/instance-id/reference/server

もう一つの方法は、のInstanceIdサーバーのAPIを使用することです

関連する問題