如何向 Netlify 提供 firebase 管理员凭据?

How to provide firebase admin credentials to Netlify?

我试图在 Netlify 上配置 GOOGLE_APPLICATION_CREDENTIALS 环境变量以便使用 firebase-admin,但是我如何在那里获得实际的 JSON 文件?

显然我不能将它包含在 git 中。

您可以通过使用环境变量将凭据拼凑在一起来生成管理员凭据证书。

您必须使用 Netlify 的 environment mechanism

向 Netlify 运行时提供项目特定值

然后像这样实例化管理客户端

import admin, { app, AppOptions } from "firebase-admin";

const config: AppOptions = {
  credential: admin.credential.cert({
    projectId: process.env["FIREBASE_ADMIN_PROJECT_ID"],
    clientEmail: process.env["FIREBASE_ADMIN_CLIENT_EMAIL"],
    privateKey: process.env["FIREBASE_ADMIN_PRIVATE_KEY"].replace(/\n/g, "\n"),
  }),
  // databaseURL: process.env.SVELTE_APP_FIREBASE_DATABASE_URL,
};

let firebaseAdminApp: app.App;

if (!admin.apps.length) {
  firebaseAdminApp = admin.initializeApp(config);
} else {
  firebaseAdminApp = admin.app();
}

export default firebaseAdminApp;