私はGoogleの Firebase データベースをプロジェクトに使用することを検討していますが、そのデータの安全性に少し関心があります。
フローを理解しているように、Webベース(またはモバイル)のアプリケーションにはClientIDのコピーが含まれ、ユーザーがデータベースに対して認証するときにそれを使用します。明示的なサーバーがないため、そのClientIDを非表示にする方法はありません。
悪意のあるユーザーがClientIDを抽出し、自分のアプリケーションを使用してデータベースに接続すると、データベースが破損する可能性があります。
これは、OAuth 2提供されるセキュリティの量の暗黙のフローに似ていますか?私は偏執的ですか?
データベースに直接アクセスするアプリケーションを設計しないでください。すべてのデータベース要求をプロキシするサーバー上にAPIを構築する必要があります。
たとえば、Webサイトにアクセスすると、そのWebサイト(サーバー側)はデータベースに接続してデータを提供しており、ブラウザーで実行されているWebアプリから直接データベースに接続することはできません。
ブラウザがデータベースに接続するJavaScript Webサイトをダウンロードするのとは異なります。これは間違ったフロー、間違った設計であり、サーバーなしでこの方法で実行することはできません。
ここで多層アプリケーションについてお読みください: https://en.wikipedia.org/wiki/Multitier_architecture