【问题标题】:Admin functionality for firebase linked appFirebase 关联应用的管理功能
【发布时间】:2018-12-30 05:25:39
【问题描述】:

我有两个应用链接到我的 Firebase 项目。一个客户应用程序和一个管理应用程序。管理应用程序的目的是控制和管理来自客户应用程序的应用程序数据。

但是,我希望管理应用程序有很多限制,例如它自己的单独帐户创建和登录功能。我注意到使用客户应用程序创建的登录凭据也适用于管理应用程序。我如何确保管理应用程序的auth 功能是安全、受限和唯一的。

【问题讨论】:

    标签: android firebase firebase-authentication


    【解决方案1】:

    登录 Firebase 身份验证只是对用户进行身份验证。它实质上验证了您是 Benny,并且您不是 Frank。

    与用户相关的任何权限都来自其他地方。例如,如果您使用 Firebase 实时数据库或 Cloud Firestore,则您拥有服务器端安全规则,可以强制用户只能访问他们获得授权的数据。

    在您的情况下,您希望仅允许部分用户使用管理应用。为此,我会考虑using custom claims。使用这种方法,您可以将自定义声明添加到管理员用户的配置文件中。使用 Firebase Admin SDK 在受信任的环境中执行此操作是最简单的。例如,在 Node.js 中是:

    admin.auth().setCustomUserClaims(uid, {admin: true})
    

    运行此代码后,uid 标识的用户在其个人资料中有一个名为 admin 的自定义声明,其值为 true

    现在,当用户登录您的管理应用时,您可以检查该 admin 声明是否存在,并且仅在该声明存在时才允许他们进入该应用。当然,您还需要在只有管理员有权执行的任何服务器端操作中检查自定义声明是否存在。

    有关更多信息,另请参阅:

    【讨论】:

      猜你喜欢
      • 2020-05-01
      • 2018-06-15
      • 2019-10-27
      • 2021-06-18
      • 2021-02-06
      • 2018-11-12
      • 1970-01-01
      • 1970-01-01
      • 2020-06-13
      相关资源
      最近更新 更多