如何以安全的方式从 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 正如文档所说。之后一切都很好。
我遵循了 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 正如文档所说。之后一切都很好。