質問: WEBアプリでFirebase Authによるメールアドレス&パスワード認証を実装しています。 管理者登録画面とユーザー登録画面の二つの登録画面を用意したとき、Firebase Authでは同じメールアドレスを使用しての管理者とユーザーのアカウント登録ができません。 現状、管理者とユーザーのログインでは同じメールアドレス&パスワード使用してもらい、uidをキーにして管理者テーブルとユーザーテーブルを持つことによって、それぞれの情報を識別させようと考えているのですが、他に良い方法ないでしょうか? カスタム認証システムがそれに当たるのかと思うのですが、既存の運用しているシステムがあった場合に有用な気がしており、新規での開発の場合には開発コストが高いように感じております。
回答: 似たような方向性ですが,セキュリティルールで照合することで,実際のデータが読み込めるかどうかを設定するとなお良いかと思います. (管理者用のデータが読み込めるのは,管理者テーブル内にuidがあった時のみ,といったように) このようにすると,アプリ側で新たに「テーブルに存在するか」という認証的な処理は不要になります. これがベストではないかと思います. ちなみにカスタム認証は基本的に,インスタグラムやLINEなどでログイン連携したい場合に使うものです. おっしゃる通り,出来なくはないですが手間です.