JavaでFirebase Admin SDKを使用して、カスタムクレームが設定されたカスタムトークンを作成しています。私は戻って、クライアントのインターフェースであるAndroidアプリにこれらを送っていますし、でログインしています:今すぐトークンに署名するために使用されるサービスアカウントのファイルは安全で隠されているカスタムトークンを使用したFirebase認証を安全に使用していますか?
signInWithCustomToken("foundtokenfromserver");
。しかし、Database URL、API Key、Storage Bucket URLはWebパーツに公開されているので、誰でも自分のアプリを作ることができると思います。私は、ユーザーを自分のノードに制限するセキュリティルールを用意しています。
私の主な関心事は、次のとおりです。
誰かが鋳造カスタムトークンを傍受して、それを保存した場合。上記のFirebaseApp(公開情報を使用して生成)を使用してログインするだけでは、そのトークンを使用できませんか?
firebaseがそのような誤用を防ぐ方法はありますか(認証ドメインによってウェブが停止する可能性はありますが、localhostはどうでしょうか)。
私は決してカスタムトークンを作成していないので、それについてはあまり伝えられません。しかし、公開されているデータベースURL、APIキー、およびストレージURLについて心配する必要はありません。データベースとストレージにセキュリティルールが公開されていない限り誰でもURLからアクセスできます([check](https://stackoverflow.com/questions/35418143/how-to-restrict-firebase-data-modification))。 apiキーも問題ではありません。なぜなら、それはあなたのプロジェクトに名前を付ける別の方法に過ぎないからです(この[post](https://stackoverflow.com/questions/37482366/is-it-safe-to-公開されたfirebase-apikey-to-the-public)) –
そうですが、公開されている人であれば誰でもFirebaseAppインスタンスをWebおよびAndroid上で初期化できます(iosについてのidk)。そして、彼らが認証トークンに手を加えれば、私は彼らが認証することができるかもしれないか、または仮面と言うことを聞かせてやりたくなるかもしれないと心配しています。また、アンドロイドSDKは透明にトークンをリフレッシュします...そうですよ生涯アクセス: - \ – Kushan
誰もFirebaseAppインスタンスをこれらのデータで初期化できるとは思わない。 Androidの場合、アプリを初期化するには 'google_services.json'ファイルが必要です。 Firebaseのホスティングを使用してWebアプリケーションを配信/展開する前に、Web上でFirebase CLIにログインする必要があります。 –