15

I'm getting this error in my terminal:

@firebase/database: FIREBASE WARNING: {"code":"app/invalid- 
credential","message":"Credential implementation provided to . 
initializeApp() via the \"credential\" property failed to fetch a valid 
Google OAuth2 access token with the following error: \"Failed to parse 
access token response: Error: Error while making request: getaddrinfo 
ENOTFOUND metadata.google.internal metadata.google.internal:80. Error 
code: ENOTFOUND\"."}`

when using firebase-tools. This is the simple node script I'm trying to run.

const admin = require("firebase-admin");

const firebase = admin.initializeApp({
  apiKey: "MY_API_KEY",
  authDomain: "APP_ID.firebaseapp.com",
  databaseURL: `https://DATABASE_URL.firebaseio.com`,
  projectId: "APP_ID"
});

const snap = firebase
  .database()
  .ref("REF")
  .child("ID")
  .once("value");
console.log(snap);

Firebase tools version: 5.0.1

I've tried uninstalling and reinstalling, logging in and out of firebase-tools with firebase login / firebase-logout

Doug Stevenson
  • 297,357
  • 32
  • 422
  • 441
DanNeo
  • 153
  • 1
  • 1
  • 4
  • `admin.credential.cert(account)` works fine. I'd still like to find out why this doesn't though – DanNeo Oct 09 '18 at 14:38

2 Answers2

25

the configuration has the wrong structure and lacks fields ...

admin.initializeApp({
    databaseURL: 'https://<DATABASE_NAME>.firebaseio.com',
    credential: admin.credential.cert({
        projectId: '<PROJECT_ID>',
        clientEmail: 'foo@<PROJECT_ID>.iam.gserviceaccount.com',
        privateKey: '-----BEGIN PRIVATE KEY-----\n<KEY>\n-----END PRIVATE KEY-----\n'
    })
});

you cannot just use the "web" configuration to access the Firebase Admin SDK.

because if this would be possible, the private key would be exposed to the public.

see the documentation.

Martin Zeitler
  • 1
  • 19
  • 155
  • 216
  • 2
    Not working, using service_account_id ??? https://firebase.google.com/docs/auth/admin/create-custom-tokens#using_a_service_account_id – Nadhas Jun 13 '19 at 13:10
  • Confirm. `service_account_id` and `databaseUrl` are not required for managing users via Firebase Admin SDK. – Maxim Zhukov Nov 16 '19 at 13:03
1

I solved it simply by running :

firebase login

I also have this error when I don't have an internet connection.

Jack'
  • 1,722
  • 1
  • 19
  • 27
  • 1
    wow, you're right! must have been something off with my network adapter & my server. i had internet connection but restarting my computer fixed it! – remjx Jan 13 '21 at 16:32