【发布时间】:2021-07-30 10:30:36
【问题描述】:
我想连接到 Firestore 并从 Java 客户端执行查询。客户端由 Firebase 应用程序的用户而不是管理员运行。我在字符串中有用户的 JWT。我不知道如何——以及使用哪些库——我可以 连接到 Firestore。
我尝试了什么:
- 来自 Maven 的包:实施组:“com.google.cloud”,名称:“google-cloud-firestore”,版本:“2.6.1”
- 此软件包似乎旨在用于具有管理员权限的安全服务器上,例如使用服务帐户。我找不到通过用户帐户使用它的方法。
- 来自 Maven 的包:实施组:“com.google.firebase”,名称:“firebase-firestore”,版本:“23.0.3”
- 此软件包适用于 Android,并引入了大量 Android 特定的依赖项。
为什么我认为这是可能的:
- 在浏览器上运行的Javascript代码可以使用相应的Javascript库来做我想做的事(除了作为Java库),使用“firebase”NPM包
- Android 特定的库被描述为我想要的(除了 android 部分)——虽然我不知道如何测试这个假设
我为什么要这样做:
- 向用户授予管理员权限违反了最小权限原则
- 在客户端应用程序和以管理员权限运行的 Firebase 之间设置服务器没有任何明显的目的;基于 Javascript 的客户端也不需要它,并且会引入一整层潜在的安全问题,因为该层中的任何错误都以管理员权限运行。
【问题讨论】:
标签: java firebase security google-cloud-firestore admin