小编Sam*_*itt的帖子

Node.js 中的 Firebase Admin SDK 全局应用初始化

我正在构建一个 Express.js 应用,使用 Firebase Admin SDK 实现 ID 令牌验证和 Cloud Firestore 访问等多项功能。在我的主 app.js 文件中,我将应用程序初始化为:

const admin = require('firebase-admin')

const serviceAccount = require('../config/account-credentials.json')
admin.initializeApp({
    credential: admin.credential.cert(serviceAccount),
    databaseURL: 'https://databaseurl.firebaseio.com'
})
Run Code Online (Sandbox Code Playgroud)

在另一个文件中,我所做的就是导入:

const admin = require('firebase-admin')
Run Code Online (Sandbox Code Playgroud)

我可以admin.auth().verifyIdToken很好地调用和验证 ID 令牌。但是,当我致电时app.database(),它抱怨该应用程序从未初始化。再次初始化应用程序会产生一个新错误:

默认 Firebase 应用已存在。这意味着您多次调用了initializeApp(),而没有提供应用程序名称作为第二个参数。在大多数情况下,您只需要调用一次initializeApp()。但如果您确实想初始化多个应用程序,请将第二个参数传递给initializeApp(),以便为每个应用程序指定一个唯一的名称。

我是否需要创建多个具有不同名称的应用程序才能正常工作?或者我如何在整个项目中使用一个应用程序。

node.js firebase firebase-realtime-database firebase-admin

10
推荐指数
1
解决办法
2万
查看次数