【发布时间】:2017-09-25 02:39:17
【问题描述】:
我将 Cloud Functions for Firebase 与三个不同的项目一起用于开发、测试和生产目的。每个项目都有一个 service-account.json。当我将源部署到环境时,初始化如下所示:
var serviceAccount = require("./service-account-dev.json");
firebase.initializeApp({
credential: firebase.credential.cert(serviceAccount),
databaseURL: "https://nwDEV.firebaseio.com"
});
这有点难以处理,因为每次我想部署到不同的环境时都必须更改代码。有没有办法进行整体配置,例如在 firebase.json 或 .firebasesrc 中,它允许集成服务帐户并决定部署时选择哪种配置?
否则有没有可能检测到代码在哪个环境下运行并加载特定的service-account.json并设置databaseURL-property?
【问题讨论】:
-
好的,除了在 CLI 中设置环境属性之外,没有内置的替代方法可以管理不同的项目吗?
-
如果您要部署到不同的机器上,我原以为您可以使用基于
window.location的 if-else。 -
您是否有理由需要执行服务帐户身份验证而不是使用管理 SDK 的内置身份验证? This snippet 展示了如何使用 Admin SDK 自动初始化当前部署的项目。如果这对您不起作用,您能否在问题中澄清为什么不呢?
-
@MichaelBleigh 我正在使用自定义令牌,因为我们正在实施 SMS 身份验证。
标签: firebase google-cloud-functions