gpt4 book ai didi

node.js - Firebase:如何从 Android 和 iOS 验证 Google 登录 token ID

转载 作者:行者123 更新时间:2023-12-04 02:28:34 25 4
gpt4 key购买 nike

我想在我的 Node 后端验证我从我的 Android 应用程序获得的所有 token (谷歌登录)。我开始像这样初始化firebase模块:

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

这给了我一些关于一些默认名称的错误,我发现我需要使用这个代码:
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)

现在我得到这个错误:

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



编辑开始
我打电话时收到此错误:
admin.auth().verifyIdToken(token).then(function(decodedToken) {}.catch(){};

编辑结束

我已经“初始化”了firebase(或者至少我是这样)并创建了环境变量:GOOGLE_CLOUD_PROJECT 和 FIREBASE_CONFIG,但我一直收到同样的错误。

那么,让firebase工作的正确方法是什么?我错过了什么? verifyIdToken 是验证 token 的正确方法吗?我只想验证谷歌登录 token 。

最佳答案

使用 Cloud Functions for Firebase,您不应该再像这样初始化:

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

你不应该使用任何参数:
admin.initializeApp();

此外,您的 google-services.json 文件在 Cloud Functions 中没有用处。这仅适用于 Android 应用程序。

关于node.js - Firebase:如何从 Android 和 iOS 验证 Google 登录 token ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51662904/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com