如何以安全的方式从 Cloud Tasks 调用 Firebase 函数?

How to call a Firebase Function from Cloud Tasks in a secure manner?

我遵循了 Using Cloud Tasks to Trigger Cloud Functions 中的 Google 示例代码。我可以将任务作为 HTTP 请求添加到队列中,使用带有工作服务帐户电子邮件和受众的 OIDC 令牌配置(云任务库不允许您 post 无效配置),但是当任务正在处理失败并出现身份验证错误。

首先,我不得不修改示例代码,让观众是 Firebase 项目 ID,因为这是 Firebase 抱怨的第一件事。修复后,我开始收到有关无效发行者的错误。不能在oidcToken配置中设置issuer,所以这是死胡同。

有没有人能够让 Cloud Tasks 与 Firebase Functions 一起工作?

能够解决这个问题。

首先,我在我的 Firebase 函数中使用 onCall,而正确的函数是 onRequest。我假设前者使用 Firebase SDK 访问令牌来授权调用者,而后者使用服务令牌。

我遇到的第二个问题是,观众需要完成功能URL,不是的起源URL 正如文档所说。之后一切都很好。