【发布时间】:2020-12-04 12:27:56
【问题描述】:
如何将 Cloud-Firestore 规则应用于服务帐户?与 java admin API 一样,形成与数据库的连接的唯一方法是使用绕过所有规则的服务帐户。我错过了什么没有任何意义?或者是否有一些不同的方法可以在不使用这样的服务帐户的情况下形成与数据库的连接
FirebaseOptions options = new FirebaseOptions.Builder()
.setCredentials(GoogleCredentials.fromStream(ServiceAccount.json))
.setDatabaseUrl("DataBaseURL")
.build();
FirebaseApp.initializeApp(options);
我想把它添加到一个开源项目中,这样每个人都可以完全访问数据库并不理想。所以我希望规则适用,但我知道如何?如果您只能使用服务帐户。
如果无法将规则应用于服务帐户,那么我如何在没有服务帐户的情况下建立连接?如果那也是不可能的,那么规则的意义何在
编辑:没有办法将规则应用于服务帐户,这在 java-Admin SDK 中也是一种耻辱 如果没有服务帐户,您无法直接与数据库建立连接,因此这样做的唯一方法是某种形式您发送请求的 Rest API,它将执行它。
【问题讨论】:
-
您必须在您的服务器中实施身份验证和授权机制,并在您的云函数中实施您自己的规则(通过定制的业务逻辑),基于每个用户的授权级别类型。
标签: java firebase google-cloud-firestore google-cloud-functions