java - Firebase 有限服务帐户

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

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

目前,我将 service-account.json 添加到应用程序中。即使我使用此 service-account.json 将角色设置为 Viewer,我也可以使用 FirebaseAuth.createCustomTokenAsync 创建帐户,这是我不想要的。

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

我知道我可以使用 setDatabaseAuthVariableOverride 来“限制”,但是如果有人从 app/jar 中提取我的 service-account.json,他们就有能力这样做一切..

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

最佳答案

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

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

关于java - Firebase 有限服务帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48218045/

相关文章:

java - 二维多维数组是如何填充的?

ios - 如何从HTTPS云函数返回错误?

android - getKey() 返回值而不是 ID

swift - 将 Firebase Auth 用户 UID 写入数据库

javascript - Firebase 有时连接,有时不连接(React Native)

java - Apache Cassandra 启动失败 : FSWriteError (. ..) 不允许操作

java - 如何使用 Swing GUI 启动 Java MVC 应用程序

Java从命令行执行依赖于其他jar的jar

firebase - 如何将所有事件数据从 Firebase 导出到 BigQuery?

java - 查询 firebase 数据库时如何将项目追加到 OnDataChange 内的 ArrayList