【发布时间】:2021-06-13 17:44:19
【问题描述】:
我尝试在 Netlify 上配置 GOOGLE_APPLICATION_CREDENTIALS 环境变量以使用 firebase-admin,但是如何在其中获取实际的 JSON 文件?
显然我不能将它包含在 git 中。
【问题讨论】:
我尝试在 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;
【讨论】: