我在哪里可以获得 Firebase 管理员的“serviceAccountCredentials.json”?
Posted
技术标签:
【中文标题】我在哪里可以获得 Firebase 管理员的“serviceAccountCredentials.json”?【英文标题】:Where can I get "serviceAccountCredentials.json" for Firebase Admin? 【发布时间】:2017-04-09 12:23:44 【问题描述】:Here 是说我需要在 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】:在this link中找到有关此的详细信息
[2021 年 11 月 30 日更新]
为您的服务帐户生成私钥文件:
在 Firebase 控制台中,打开设置 > Service Accounts。
点击 Generate New Private Key,然后点击 Generate Key 确认。
安全存储包含密钥的 JSON 文件。
通过服务帐户授权时,您有两种选择: 向您的应用程序提供凭据。您可以设置 GOOGLE_APPLICATION_CREDENTIALS 环境变量,或者你可以 在代码中显式传递服务帐户密钥的路径。首先 选项更安全,强烈推荐。
注意:当您生成新的私钥时,旧密钥将立即停止工作
要创建新的私钥文件,您需要转到此链接
https://console.firebase.google.com/project/**YOUR_PROJECT**/settings/serviceaccounts/adminsdk
[旧]
引用firebase docs:
导航到项目设置页面中的Service Accounts 选项卡。 点击Service Accounts标签的Firebase Admin SDK部分底部的Generate New Private Key按钮。
点击按钮后,一个包含您的服务的 JSON 文件 将下载帐户的凭据。你需要这个 在下一步中初始化 SDK。
警告:当 在您的代码中处理服务帐户凭据。不要提交他们 到公共存储库,将它们部署在客户端应用程序中,或将它们公开 任何可能危及 Firebase 项目安全性的方式。
这个文件只生成一次。如果您丢失或泄漏密钥,您可以 重复上述说明为服务创建新的 JSON 密钥 帐户。
【讨论】:
JSON 文件应该保存在哪里? @xaunlopez 在您的项目源中的任何位置,或在您自己的服务器端,只需将路径放在文件“.setServiceAccount(new FileInputStream("path/to/serviceAccountCredentials.json"))” 项目来源不好,因为无法检查版本控制,服务器端是指firebase存储吗?我只是在使用 firebase firestore 和云功能。 当你生成一个新的私钥时,旧的密钥会立即停止工作吗? @perrosnk 是的,它将停止工作。This file is only generated once. If you lose or leak the key, you can repeat the instructions above to create a new JSON key for the service account.
【参考方案2】:
您可以直接转到您的 Firebase 门户 --> 项目设置,然后是服务帐户。 我做了一个解释所有细节的教程:How to get my Firebase Service Account Key file
【讨论】:
以上是关于我在哪里可以获得 Firebase 管理员的“serviceAccountCredentials.json”?的主要内容,如果未能解决你的问题,请参考以下文章
我在哪里使用颤振获得 SHA-1 证书指纹? (使用颤振创建--androidx ProjectName)
我在哪里可以找到我的 Firebase apiKey 和 authDomain