具有 Cloud Function Invoker 权限的 Cloud Function 获得 403 状态
Posted
技术标签:
【中文标题】具有 Cloud Function Invoker 权限的 Cloud Function 获得 403 状态【英文标题】:Cloud Function with Cloud Function Invoker rights gets 403 status 【发布时间】:2022-01-22 16:46:40 【问题描述】:我有两个云函数:一个前端和一个 API。我已将frontend
服务帐户添加到具有Cloud Function Invoker
权限的前端云功能:
我还明确将此服务帐户添加为 API 云函数的权限,但我仍然收到403 Not Authorized
状态。
const categories = await this.$axios.$get("/api/v1/categories/",
params: hasParent: 0 ,
);
【问题讨论】:
你能分享一段你从前端调用API的代码吗? @guillaumeblaquiere 添加了通话 【参考方案1】:您必须添加授权标头才能使其工作!它不是开箱即用的!
但是,云函数文档很难解释这一点。请改用Cloud Run 文档(2 个服务使用相同的底层基础架构,原理相同,文档在 Cloud Run 上更易于使用!!)
【讨论】:
所以如果我理解正确,在从我的前端对我的 API 进行任何调用之前,我需要从 GCP 获取身份验证令牌? 是的。并将其添加为您的请求的标头。如果您的前端在 Cloud Functions 上运行,这并不难(如果您仍然无法从元数据服务器获取 TokenID,请分享您的代码)以上是关于具有 Cloud Function Invoker 权限的 Cloud Function 获得 403 状态的主要内容,如果未能解决你的问题,请参考以下文章
无法从 GCP 调度程序调用 Google Cloud Function
Firebase Cloud Function 在 .get() 完成之前结束
如何使用 Cloud Function with Flutter 从新图像中获取 URL?
无法在安全的Google Cloud Function上获得CORS错误