Firebase管理员sdk对辅助消防存储数据库的未经身份验证的查询



场景:我在数据库(Database 1(中有一个公共可读的firestore文档(文档1(,即我可以在未经身份验证的情况下进行REST GET调用并获取数据。

我有另一个firestore数据库(Database 2(,我想在其中克隆文档1的数据,并将其保存到DATABASE 2文档中。

问题:如何从DATABASE 2Admin SDK检索数据库1文档1数据?

动机:REST响应需要解析,我希望能调用不需要任何解析的Firebase lib SDK。

注意事项:

  • 我不想向DATABASE 1管理员公开DATABASE 2服务帐户凭据

想知道是否可以使用DATABASE 1project-id和/或url创建firebase Admin的辅助实例,而不暴露和信任。

这肯定是可能的,但您需要在第二个项目中公开服务帐户的凭据,以便使用admin-sdk。。如果这在您的情况下是可能的,那么您所要做的就是用引用不同项目的firebaseOptions实例化项目,正如您在本文档中所看到的:

const secondaryServiceAccount = require('./path/to/serviceAccountKey.json');
const secondaryAppConfig = {
credential: admin.credential.cert(secondaryServiceAccount),
projectId: "YOUR_SECOND_PROJECT_ID"
};
const secondary = admin.initializeApp(secondaryAppConfig, 'secondary');

并使用secondary变量访问您需要的任何服务,例如,要访问第二个Firestore项目,请使用secondary.firestore()

正如Frank在评论中提到的那样,另一种选择是使用常规的Firestore SDK,您可以在本文档中找到更多信息,过程非常相似。

相关内容

  • 没有找到相关文章

最新更新