2017-12-28 35 views
0

firebaseはfirebaseのクラウドメッセージングを使用するために、クライアントサイドのsdkとサーバサイドのadmin sdkの両方を提供します。私を混乱させる何ファイヤーベースのクラウドメッセージングは​​クライアント側でどれくらい安全ですか?

はこれです:

我々は公共のJavaScriptファイルまたはスクリプトタグ内のクライアント側の初期化コードが含まれています。誰かがこの初期設定の認証情報を見て、私たちのアプリに接続されているデバイスに投稿要求を直接送信できませんか?ユーザーが迷惑メールや悪意のある通知を送信し続けている場合はどうなりますか? FCM機能全体がadmin sdkによってのみ使用可能にされるべきではありませんか?

私はプロジェクトのための私のnodejsアプリケーションのfirebaseホスティングを使用しており、FCMを実装する方法についてかなり混乱しています。

firebaseがクラウドメッセージや通知よりもどのような認証やチェックを提供していますか?

ウェブアプリケーションクライアントでFCM通知をどの程度安全に使用していますか?

+1

FCMでメッセージを送信するには、その名前が示すようにパブリックではない、いわゆるFCMサーバーキーを指定する必要があります。 FCMサーバーキーは、クライアント側の構成データの一部ではありません。クライアント側の初期化には、パブリックにするための構成データが必要です。 –

答えて

0

レガシーFCMで使用されているFCM Apiキーを公開しないでください。心配な方は、プロジェクトのGoogleクラウド管理コンソールからGCMのポストAPIを無効にしてください。

これらの新しいv1 APIでは、サーバー上のサービスアカウントキーを使用して発行されたOauthトークンが使用されます。だからそれは虐待を止めるでしょう。一般にアクセス可能な場所にサービスアカウントのキーを置かないでください。プロジェクトのGoogleクラウド管理コンソールでこれを有効にする必要があります。

データベースのURL、ストレージバケット情報、アプリケーションID、およびデータベースのapikeyは公開されても安全です。

たとえば、私のWebプロジェクトでは、通知を送信するボタンをクリックすると、実際にFCMの部分を持つサーブレットにデータがポストされます。これで虐待が防止されます。

+0

Webプロジェクトでは、可能であれば通知を実際に送信するサーバー側のコードを呼び出します – Kushan

関連する問題