Firebase托管 - 密码保护网站?

时间:2017-05-31 18:51:25

标签: firebase web firebase-authentication firebase-hosting

我刚刚在Firebase托管中部署了一个网站,效果很好 - 设置非常简单。

然而,我的问题是,有什么方法可以通过身份验证访问网站吗?这是一个只有我的团队才能访问的管理面板。有什么方法可以密码保护或私有化我在Firebase上托管的网站吗?

谢谢!

3 个答案:

答案 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,您可以阻止新用户注册,并将新用户电子邮件限制在其他功能中的特定域。