首页 > 解决方案 > NodeJS 中的 Firebase Admin SDK - 用法

问题描述

我正在尝试在我的 NodeJS 项目中使用 Firebase Admin SDK 来创建 API。但是我对用法有点困惑。

我已经安装了这样的软件包:

npm install firebase-admin

在入口点文件 ( index.js) 中,我添加了以下几行(使用实际值而不是占位符):

const express = require('express');
const app = express();
const bodyParser = require('body-parser');


//---------- FIREBASE -------------------
var admin = require("firebase-admin");

var serviceAccount = require("path/to/serviceAccountKey.json");

admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  databaseURL: "https://myprojectname.firebaseio.com"
});
//---------- /FIREBASE -------------------

//.. my other code goes here.. like middlewares, routes, etc.

我将使用firebase-admin来验证我的身份验证控制器(单独的文件)中的令牌。那么我是否必须将上面的 firebase 部分的代码移动index.js到我的身份验证控制器文件中?

我的意思是我必须在我想使用它的每个文件中要求并初始化 firebase-admin?

标签: javascriptnode.jsfirebasefirebase-admin

解决方案


主要选项是:

  1. 在您需要的每个文件中导入并初始化 SDK。
  2. 有一个初始化 SDK 的文件。将该文件和 SDK 导入到您需要的每个文件中,但不要再在任何地方初始化它。
  3. 有一个用于初始化和导出 SDK 的文件。然后在任何地方导入该文件,并从其导出中使用 Firebase 服务。

我最常看到第三个选项,但也经常看到开发人员在出口方面苦苦挣扎。因此,您可能想先尝试第二个选项。


推荐阅读