如何将Google应用程序凭据/秘密添加到Vercel部署中?

时间:2020-09-26 02:05:42

标签: vercel

我正在将Vercel Deployments与NextJS应用程序配合使用。当我按下master时,部署会自动运行,但是我不想将密钥存储在GitHub中。我的无服务器功能依赖于数据库。在本地运行时,我可以简单地使用Google的默认身份验证凭据,但这在部署到Vercel时是不可能的。这样,我创建了一个服务帐户以使服务器具有访问权限。

如何加载服务帐户凭据而不将其自身密钥锁定到GitHub?

1 个答案:

答案 0 :(得分:0)

您可以创建一个对象并将环境变量作为每个对象键的值,而不是使用JSON文件的路径。例如:

admin.initializeApp({
  credential: admin.credential.cert({
    client_email: process.env.FIREBASE_CLIENT_EMAIL,
    private_key: process.env.FIREBASE_PRIVATE_KEY,
    project_id: 'my-project'
  }),
  databaseURL: 'https://my-project.firebaseio.com'
});

然后,您可以在Vercel的项目设置中添加环境变量。

代码示例:https://github.com/leerob/leerob.io/blob/master/lib/db-admin.js#L5-L8