【问题标题】:Multiple Application in same Firebase Project同一个 Firebase 项目中的多个应用程序
【发布时间】:2020-08-08 15:02:22
【问题描述】:

我有一个有两个应用程序的项目。一个用户应用程序和一个管理员应用程序。两个应用程序都应该使用相同的数据库,这可以在 firebase 中轻松完成。现在我想为这两个应用程序构建一个身份验证。但是,如果您在一个应用程序(例如用户应用程序)中注册,您不应该在管理应用程序中拥有帐户。所以我不知道如何在 Firebase 中处理这个问题,因为一个项目中的所有应用程序都构建在同一个身份验证系统上。 处理这个问题的最佳方法是什么?

【问题讨论】:

    标签: firebase firebase-authentication


    【解决方案1】:

    由于“两个应用都应该使用同一个数据库”,所以需要使用同一个项目进行身份验证。

    这种情况下的经典方法之一是使用基于角色的访问控制策略。管理员用户将具有特定的“管理员”角色,并且只有具有此角色的用户才能读取/写入管理员数据。

    自定义声明是在 Firebase 中实现这种基于角色的访问控制的方式。 documentation 很好地解释了它(包括如何使用 Firebase 安全规则中的自定义声明 - 根据这些声明限制对数据的访问 - 以及如何使用它们来隐藏/显示应用程序用户界面的元素,具体取决于角色)。

    您可能也对此article 感兴趣,它展示了如何创建管理模块来管理用户访问权限和角色。

    这个SO answer 您可能也会感兴趣,尤其是最后两个 OP 问题的答案(“我可以在客户端应用程序中构建一个管理面板吗?”和“我应该在另一个应用程序中构建一个管理面板并使用 Cloud函数?”)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-11-06
      • 2018-02-22
      • 2020-10-06
      • 1970-01-01
      • 2019-04-20
      • 2018-02-12
      相关资源
      最近更新 更多