gpt4 book ai didi

java - Firebase SDK Admin setCredentials 除了静态 JSON 文件

转载 作者:行者123 更新时间:2023-12-02 11:34:50 30 4
gpt4 key购买 nike

我一直在使用 Google 的 Firebase Admin SDK,虽然我已经配置并创建了需要推送通知的客户端,但 FCM 项目的凭据设置方式并不令我满意。

目前,我正在使用提供的 JSON 文件设置项目的凭据,该文件当前存储在我的服务器的文件系统中,并如相关文档中所示进行检索:

FileInputStream serviceAccount = new FileInputStream("path/to/serviceAccountKey.json");

FirebaseOptions options = new FirebaseOptions.Builder()
.setCredentials(GoogleCredentials.fromStream(serviceAccount))
.setDatabaseUrl("https://<DATABASE_NAME>.firebaseio.com/")
.build();

虽然这在大多数情况下工作得很好,但它确实增加了额外的维护负载以及另一个故障点(例如,有人错误地删除了凭证文件)。

从文档中我看到适用于 NodeJs 的 SDK 允许临时设置与项目相关的凭据,这意味着不需要存在 JSON 文件。此外,文档似乎提到身份验证可以通过其他方式进行(但他们没有详细说明),如以下相关行所示:

管理 SDK 也可以使用不同的凭据类型进行身份验证

请注意,这几乎肯定与 Google Cloud Platform 有关,但似乎留下了一个打开的窗口,暗示其他版本的 SDK 也可能发生这种情况。

现在我的问题如下。假设我不想使用存储在 JSON 文件中的凭据(该文件又存储在文件系统中),Java SDK 是否有另一种方法来检索它们?

我们非常欢迎任何帮助。

最佳答案

请注意GoogleCredentials.fromStream(serviceAccount)实际上并不是从文件中读取。它正在从输入流中读取。该 InputStream 恰好是您代码中的 FileInputStream。

您可以使用任何为您的代码提供所需凭据的 InputStream,因此您可以选择与作为数据源的流类型一样多的选项。

只有您知道您真正的选择是什么,因为我们这些阅读问题的人不熟悉您的运行时环境或如何打包代码。但我确信您在这里有很大的灵 active 。

关于java - Firebase SDK Admin setCredentials 除了静态 JSON 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49017119/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com