我希望在我的节点后端验证从我的Android应用程序获取的所有令牌(Google登录)。我首先通过以下方式初始化firebase模块:
var admin = require('firebase-admin');
var serviceAccount = require('googlefirebase');
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: url
});
这个代码给了我一个有关"DEFAULT"名称的错误提示,后来我发现需要使用这段代码来解决:
var admin = require('firebase-admin');
var serviceAccount = require('googlefirebase');
admin.initializeApp(functions.config().firebase);
然后我意识到需要在我的服务器上安装和初始化这个项目,所以我执行了以下操作:
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)
现在我遇到了这个错误:
错误:必须使用证书凭据初始化应用程序,或将您的Firebase项目ID设置为GOOGLE_CLOUD_PROJECT环境变量,以调用verifyIdToken()
编辑开始 当我调用以下函数时,出现此错误:
admin.auth().verifyIdToken(token).then(function(decodedToken) {}.catch(){};
我已经“init”了Firebase(至少我认为是这样),并创建了环境变量:GOOGLE_CLOUD_PROJECT和FIREBASE_CONFIG,但仍然收到相同的错误。
那么,让Firebase正常工作的正确方法是什么?我错过了什么?verifyIdToken是否是验证令牌的正确方法?我只想验证Google登录令牌。