免责声明:我对谷歌云功能和无服务器功能完全陌生。
我已经设置了一个基本的谷歌云功能,将其设置为HTTPS触发器和Require Authentication,并为服务帐户和我的帐户指定了云功能调用程序角色。
然而,每当我使用Postman使用oauth2令牌向函数发送HTTP请求时,我都会收到401未经授权的错误。
我还遵循了以下步骤:https://cloud.google.com/functions/docs/securing/authenticating
创建并下载服务帐户密钥,并使用cURL发出HTTP请求,结果出现相同错误。
我需要如何设置,以便授权用户可以向该函数发送HTTP请求?
我在做什么:
$gcloud auth login (to log in with my account with cloud invoker permission)
$curl https://my-trigger-url -H "Authorization: bearer $(gcloud auth print-identity-token)"
Guillaume找到了解决方案:
我触发云函数的cURL语法需要在URL之前而不是之后使用-H "Authorization: bearer $(gcloud auth print-identity-token)"
,这与谷歌自己的文档相反。
谢谢你的帮助。