【问题标题】:Firebase limited service accountFirebase 受限服务帐号
【发布时间】:2018-06-21 10:20:37
【问题描述】:

我有一个使用 Firebase Admin SDK 的 Java 客户端(独立应用程序),因为每当值发生更改时,我都需要从实时数据库中读取值。 (正在使用 ValueChange 侦听器)。

目前我在应用程序中包含service-account.json。即使我将角色设置为查看者,使用这个service-account.json,我也可以使用FirebaseAuth.createCustomTokenAsync 创建帐户,这是我不想要的。

有没有办法让实时数据库的服务帐户只读?

我知道我可以使用setDatabaseAuthVariableOverride 来“限制”,但是如果有人从应用程序/jar 中提取了我的service-account.json,他们就有能力做任何事情..

我没有使用 node.js,只是使用带有 spring 的 Java。而 js firebase 是不行的,因为即使没有网页我也需要接收更新。

【问题讨论】:

  • 自定义token创建是本地操作,不涉及任何云服务。因此,没有任何权限/角色的组合可以防止这种情况发生。

标签: java firebase firebase-realtime-database firebase-admin


【解决方案1】:

切勿将服务帐号分发给最终用户。他们应该只去受信任的一方。

目前没有细粒度的方法来控制通过服务帐户对实时数据库的访问。访问控制通过Firebase Authentication 客户端库执行,非Android Java 客户端无法使用这些库。

【讨论】:

  • 我明白了,还有其他建议吗?因为如果我将角色设置为查看者,sdk 将不允许我更新用户请求,但它仍然允许我创建自定义 jwt 令牌..
  • 如果我有其他建议,它会在我的回答中。本质上,不支持您尝试执行的操作。
猜你喜欢
  • 2019-09-07
  • 1970-01-01
  • 1970-01-01
  • 2020-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-30
  • 1970-01-01
相关资源
最近更新 更多