Where can I get "serviceAccountCredentials.json" for Firebase Admin?

NickUnuchek picture NickUnuchek · Nov 25, 2016 · Viewed 24.4k times · Source

Here is said what I need to setup Firebase on java:

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

But where can I get serviceAccountCredentials.json ?

UPDATED: I found that this file seems should have this fields, but where get this values?

{
  "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": ""
}

Answer

NickUnuchek picture NickUnuchek · Nov 25, 2016

Found details about this in this link

To create the file you need to go to this link

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

Quote from firebase docs:

  1. Navigate to the Service Accounts tab in your project's settings page.
  2. Click the Generate New Private Key button at the bottom of the Firebase Admin SDK section of the Service Accounts tab.

After you click the button, a JSON file containing your service account's credentials will be downloaded. You'll need this to initialize the SDK in the next step.

Warning: Use extra caution when handling service account credentials in your code. Do not commit them to a public repository, deploy them in a client app, or expose them in any way that could compromise the security of your Firebase project.

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.