我刚刚在Firebase托管中部署了一个网站,效果很好 - 设置非常简单。
然而,我的问题是,有什么方法可以通过身份验证访问网站吗?这是一个只有我的团队才能访问的管理面板。有什么方法可以密码保护或私有化我在Firebase上托管的网站吗?
谢谢!
答案 0 :(得分:13)
目前这是不可能的,尽管它是一个受欢迎的功能请求。我们对如何处理这样的事情有一些想法,但目前没有什么要宣布的。
答案 1 :(得分:5)
派对晚了,但想要创建一个仅供我们域上的用户使用的仪表板(但不想管理个人帐户)时遇到了类似的问题。
使用标准google身份验证流程结束,但通过数据库规则限制数据访问。要查看用户是否已获得授权,我们会在登录后(以及在我们向用户报告之前)尝试直接访问数据。如果它在auth地面失败,我们的用户就是局外人。
Firebase数据库规则:
{
"rules": {
".read": "auth.token.email_verified == true && auth.token.email.matches(/.*@ourdomain.org$/)",
".write": false
}
}
请参阅https://firebase.google.com/docs/reference/security/database/
注意:由于我们的组织通过gsuite运行我们的邮件,这肯定变得更容易,但是您可以轻松定义更精细的规则,此选项不可用。
答案 2 :(得分:1)
为我解决此问题的最简单方法是将我的应用程序从Firebase迁移到AWS Amplify。它允许您使用密码保护应用程序。在访问控制下,将其从“公开可见”更改为“受限制”。 如果您正在寻找类似的功能,但我认为它比firebase auth更强大,则将AWS cognito集成到您的应用中;使用AWS cognito,您可以阻止新用户注册,并将新用户电子邮件限制在其他功能中的特定域。