我在哪里可以获得 Firebase Admin 的“serviceAccountCredentials.json”?

下面说了我在java上设置Firebase需要什么:

FirebaseOptions options = new FirebaseOptions.Builder()
    .setDatabaseUrl("https://databaseName.firebaseio.com")
    .setServiceAccount(new FileInputStream("path/to/serviceAccountCredentials.json"))
    .build();
FirebaseApp.initializeApp(options);

但是我在哪里可以获得serviceAccountCredentials.json

更新:我发现这个文件似乎应该有这个字段,但是从哪里得到这个值?

{
  "type": "",
  "project_id": "",
  "private_key_id": "",
  "private_key": "",
  "client_email": "",
  "client_id": "",
  "auth_uri": "",
  "token_uri": "",
  "auth_provider_x509_cert_url": "",
  "client_x509_cert_url": ""
}

答案 1

在此链接中找到有关此内容的详细信息

[更新于2021年11月30日]

要为服务帐户生成私钥文件,请执行以下操作:

在 Firebase 控制台中,打开“设置”>服务帐号”。

单击“生成新私钥”,然后单击“生成密钥”进行确认。

安全地存储包含密钥的 JSON 文件。

通过服务帐户进行授权时,有两种选择来向应用程序提供凭据。可以设置GOOGLE_APPLICATION_CREDENTIALS环境变量,也可以在代码中显式传递服务帐户密钥的路径。第一个选项更安全,强烈建议使用。

注意:当您生成新的私钥时,旧密钥将立即停止工作

要创建新的私钥文件,您需要转到此链接

https://console.firebase.google.com/project/**YOUR_PROJECT**/settings/serviceaccounts/adminsdk

[旧]

引用自 firebase 文档

  1. 导航到项目设置页面中的“服务帐户”选项卡。
  2. 点击服务帐号标签中 Firebase 管理员 SDK 部分底部的生成新私钥按钮。

单击该按钮后,将下载包含服务帐户凭据的 JSON 文件。在下一步中,您将需要它来初始化 SDK。

警告:在代码中处理服务帐户凭据时要格外小心。请勿将它们提交到公共存储库、在客户端应用中部署它们,也不要以任何可能危及 Firebase 项目安全性的方式公开它们。

此文件仅生成一次。如果丢失或泄漏密钥,可以重复上述说明,为服务帐户创建新的 JSON 密钥。


答案 2

您可以直接转到 Firebase 门户 -->项目设置“,然后转到”服务帐户”。我做了一个教程,解释了所有细节:如何获取我的Firebase服务帐户密钥文件


推荐