我正在将 Vercel 部署与 NextJS 应用程序一起使用。当我推送到 master 时,部署会自动运行,但我不想将密钥存储在 GitHub 中。我的无服务器功能依赖于我的数据库。在本地运行时,我可以简单地使用 Google 的默认身份验证凭据,但在部署到 Vercel 时这是不可能的。因此,我创建了一个服务帐户以使服务器能够访问。
如何加载服务帐户凭据而不将其密钥本身推送到 GitHub?
我尝试按照本期所述添加密钥,但这不起作用。
据我所知,在 Vercel 中设置环境变量没有帮助,因为Google 环境变量需要路径/JSON 文件(而不是简单的文本)。
您可以创建一个对象并包含环境变量作为每个对象键的值,而不是使用 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'
});
Run Code Online (Sandbox Code Playgroud)
然后,您可以在 Vercel 的项目设置中添加环境变量。
| 归档时间: |
|
| 查看次数: |
7710 次 |
| 最近记录: |