如何访问存储在环境变量中的 Firebase 服务帐户

How can i access the Firebase Service Account stored in an Environment Variable

我的 .env 文件中有 firebase 服务帐户。主要问题是我无法访问 index.js 文件中的内容。我已经在 Whosebug 中尝试过类似的问题。但是那些对我没有帮助。

这是我的 index.js:

const express = require("express");
const app = express();
const cors = require("cors");
const { MongoClient } = require("mongodb");
const { ObjectId } = require("mongodb");
const admin = require("firebase-admin");
require("dotenv").config();
const port = process.env.PORT || 5000;
//firebase admin initialization
const serviceAccount = JSON.parse(process.env.FIREBASE_SERVICE_ACCOUNT);
admin.initializeApp({
credential : admin.credential.cert(serviceAccount),
}),
});

//middleware
app.use(cors());
app.use(express.json({ limit: "50mb" }));

发生的错误:

error image

.env 文件:

env file

我也遇到过同样的问题。我认为这不是检索环境变量的正确方法。

你可以尝试这样取回-

//firebase admin initialization
const serviceAccount = JSON.parse(process.env.FIREBASE_SERVICE_ACCOUNT);
admin.initializeApp({
  credential: admin.credential.cert({
    projectId: serviceAccount.project_id,
    clientEmail: serviceAccount.client_email,
    privateKey: serviceAccount.private_key.replace(/\n/g, "\n"),
  }),
});

希望有用。