Firebaseプロジェクトの2つのアプリ。1番目のアプリの登録ユーザーが登録せずに2番目のアプリにログインできるのはなぜですか?

Aug 23 2020

1つのプロジェクトに2つのアプリがあります。1つ目は顧客アプリで、2つ目は会社アプリです。両方のアプリが同じFirebaseデータベースを共有します。

そして、両方のアプリはログインと登録の点で同一です。2番目のアプリのコードを書き始めたとき、そのときは1番目のプロジェクトをコピーし、必要に応じてすべてのアクティビティ(Android Javaコード)を変更しました。

私が直面している問題は、顧客が顧客アプリに登録した後、同じログイン資格情報が会社のアプリに登録せずにログインするために使用されている場合、またはその逆の場合です。なぜこれが起こっているのか分かりません。両方のプロジェクトで、AndroidStudioから生成した後のSHA-1キーが同じであることが1つわかりました。

両方のアプリに登録せずにログインを制限したいのですが、登録していない2番目のアプリではなく、登録したアプリにログインできるようにする必要があります。

回答

1 FrankvanPuffelen Aug 23 2020 at 10:54

ユーザー登録はプロジェクトごとであり、アプリケーションごとではありません。そのため、Firebaseは、最初のアプリと2番目のアプリでサインインするユーザーを区別しません。これらのユーザーはすべてプロジェクト内の単なるユーザーであり、そのプロジェクトに対して認証できます。

プロジェクト内の2つのタイプのユーザーを区別する場合は、サインインに使用するアプリケーションで区別しないでください。代わりに、データベースに各ユーザーの何らかの役割を保存する必要があります。または、そのユーザーのプロファイルのカスタムクレーム。

チェックアウトすることをお勧めします:

  • ロールベースおよび属性ベースのアクセス制御の実装に関するFirebaseのドキュメント
  • Firebaseを使用してAndroidアプリで2種類のユーザー(学生とドライバー)を認証するための最良の方法は何ですか
  • Firebaseにログインするために、さまざまなタイプのユーザーにさまざまなアクセスを許可するにはどうすればよいですか?
  • Javaで認証するためのfirebaseadminユーザーを作成する方法