Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Firebase: How to verify Google login token id from Android & iOS

I want to verify on my node backend all the tokens (Google login) i get from my Android app. I started with initializing the firebase module like this:

var admin = require('firebase-admin');
var serviceAccount = require('googlefirebase');
admin.initializeApp({
   credential: admin.credential.cert(serviceAccount),
   databaseURL: url
});

This gave me some error about some DEFAULT name and i found out that i needed to use this code:

var admin = require('firebase-admin');
var serviceAccount = require('googlefirebase');
admin.initializeApp(functions.config().firebase);

Then i realize that i need to install and init the project on my server so i did this:

firebase login
firebase init
firebase use --add project
firebase functions:config:set "google-services.json" (just the project_info data of the json that i downloaded from firebase)

Now i get this error:

Error: Must initialize app with a cert credential or set your Firebase project ID as the GOOGLE_CLOUD_PROJECT environment variable to call verifyIdToken()

EDIT START I get this error when i call:

admin.auth().verifyIdToken(token).then(function(decodedToken) {}.catch(){};

EDIT END

I already "init" firebase (or at least i thing so) and created the environment variables: GOOGLE_CLOUD_PROJECT and FIREBASE_CONFIG and i keep getting the same error.

So, whats the right way to get firebase to work? what am i missing? is verifyIdToken the right method to verify the token? i just want to verify the google login token.

like image 519
Fernando Santiago Avatar asked Nov 29 '25 19:11

Fernando Santiago


1 Answers

With Cloud Functions for Firebase, you're not supposed to initialize like this any more:

admin.initializeApp(functions.config().firebase);

You're supposed to use no arguments:

admin.initializeApp();

Also, your google-services.json file is not useful in Cloud Functions. That's only for use in an Android app.

like image 57
Doug Stevenson Avatar answered Dec 02 '25 19:12

Doug Stevenson



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!