Firebaseホスティングにウェブサイトをデプロイしたところ、うまく機能しました-設定は非常に簡単でした。
しかし、私の質問は、認証によって制限されたWebサイトへのアクセスを許可する方法はありますか?これは、私のチームだけがアクセスできるようにする必要がある管理パネルです。 Firebaseでホストされているウェブサイトをパスワードで保護またはプライベート化する方法はありますか?
ありがとう!
これは現在のところ不可能ですが、これは人気のある機能リクエストです。このようなことに取り組む方法についてはいくつかのアイデアがありますが、現時点では何も発表されていません。
パーティーには遅れましたが、ドメインのユーザーだけが使用できるダッシュボードを作成したい(ただし、個別のアカウントを管理したくない)ときに、同様の問題が発生しました。
最終的には標準のgoogle認証フローを使用しましたが、DBルールによるデータアクセスを制限しています。ユーザーが承認されているかどうかを確認するために、ログイン後(およびユーザーに報告する前)にデータに直接アクセスしようとします。認証に失敗した場合、ユーザーは部外者です。
Firebase DBルール:
{
"rules": {
".read": "auth.token.email_verified == true && auth.token.email.matches(/.*@ourdomain.org$/)",
".write": false
}
}
https://firebase.google.com/docs/reference/security/database/ を参照してください
注:組織がgsuiteを介してメールを実行しているため、これは間違いなく簡単になりましたが、このオプションが利用できない場合は、より詳細なルールを簡単に定義できます。
これを解決する最も簡単な方法は、アプリをFirebaseからAWS Amplifyに移動することでした。アプリをパスワードで保護できます。アクセス制御の下で、「公開」から「制限」に変更します。類似している機能を探しているが、Firebase authよりも堅牢であると私が思う場合は、AWSコグニトをアプリに統合します。 AWS cognitoを使用すると、新しいユーザーのサインアップを防ぎ、新しいユーザーの電子メールを他の機能の中で特定のドメインに制限できます。