1

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

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

4

1 回答 1

3

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

您必须使用 Netlify 的环境机制向 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;
于 2021-06-13T09:44:19.993 回答