首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Firebase HTTP函数中解析和验证云任务令牌

如何在Firebase HTTP函数中解析和验证云任务令牌
EN

Stack Overflow用户
提问于 2021-11-18 08:15:52
回答 1查看 108关注 0票数 0

我有一个创建Cloud HTTP tasks with authentication的node.js应用程序。我想要处理这些任务的viaFirebase超文本传输协议函数(也在JS中)。我知道在创建任务时需要使用oidcToken,但我不知道如何在Firebase HTTP函数端验证这样的令牌。文档不是很有用。我希望能在@google-cloud/tasksgoogleapis/google-auth-library-nodejs中找到一些实用程序,但什么都没有出现在我的脑海中。

EN

回答 1

Stack Overflow用户

发布于 2021-11-18 09:58:31

您所要做的就是将您的云函数与服务帐户相关联。这称为Function Identity。请注意,每当您在GCP或Firebase中部署云函数时,在这两个平台上都会出现相同的函数。

为此,您可以使用以下命令创建新的服务帐户:

代码语言:javascript
复制
gcloud iam service-accounts create [YOUR_NEW_SERVICE_ACCOUNT_NAME] \
  --display-name "Service Account Test"

并为所需的IAM角色分配:

代码语言:javascript
复制
gcloud projects add-iam-policy-binding ${PROJECT_ID} \
  --member serviceAccount:[YOUR_NEW_SERVICE_ACCOUNT_NAME]@${PROJECT_ID}.iam.gserviceaccount.com \
  --role roles/cloudfunctions.invoker

您的函数部署应该如下所示:

代码语言:javascript
复制
gcloud functions deploy hello_world \
  --trigger-http \
  --region us-central1 \
  --runtime nodejs14 \
  --service-account [YOUR_NEW_SERVICE_ACCOUNT_NAME]@${PROJECT_ID}.iam.gserviceaccount.com \
  --no-allow-unauthenticated

一旦您拥有了所有这些,您的Cloud HTTP任务就应该使用这个服务帐户作为OICD令牌,但我相信您已经知道如何做到这一点。

您可以在此guide中找到更多信息(尽管它使用Cloud Scheduler而不是Cloud Tasks,但其思想基本相同)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70016511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档