登录
首页 >  Golang >  Go问答

验证谷歌云功能中HTTP触发器的方法

来源:stackoverflow

时间:2024-02-25 18:18:25 176浏览 收藏

偷偷努力,悄无声息地变强,然后惊艳所有人!哈哈,小伙伴们又来学习啦~今天我将给大家介绍《验证谷歌云功能中HTTP触发器的方法》,这篇文章主要会讲到等等知识点,不知道大家对其都有多少了解,下面我们就一起来看一吧!当然,非常希望大家能多多评论,给出合理的建议,我们一起学习,一起进步!

问题内容

我有一个函数应用托管在我的 GCP 项目中,并且启用了身份验证。 该应用程序将根据事件从 Jfrog 容器注册表 Webhook 触发。

我在这里面临的问题是验证/授权 HTTP 请求。我尝试使用“Authorization:bearer”标头,效果很好。但该令牌似乎会在 60 分钟后过期。

问:是否有一种永久的方式(不会过期)对云函数 HTTP 请求进行授权/认证? Jfrog webhooks 无法以编程方式创建令牌,因为它是一个简单的 HTTP POST 触发器,可以接受其他标头。

我发现很难从 GCP 文档中获得解决方案。我确实使用“roles/cloudfunctions.invoker”角色创建了服务帐户。

有关 Jfrog 工件 Webhooks 的参考:https://www.jfrog.com/confluence/display/JFROG/Webhooks


正确答案


正是出于这个原因,我写了 article。它基于 ESPv2 和 Cloud Run,但 API Gateway 是该技术堆栈的托管版本。原理和OpenAPI规范是一样的。

该解决方案将安全级别从短期令牌(1h)降级为长期令牌(无限制)。但您可以使用 API Gateway 来确保 API Key 检查和查询转发。

一种更简单的模式是删除对 Cloud Functions 的身份验证检查(并将其公开)并在函数本身中执行该 API 密钥(实际上是随机字符串比较)。

在这两种情况下,API 都是可公开访问的(API 网关或云功能),并且在发生 DDoS 攻击时,没有任何东西可以保护您的服务(和您的资金)。设置正确的 Cloud Functions Max 实例以防止出现任何意外情况。

好了,本文到此结束,带大家了解了《验证谷歌云功能中HTTP触发器的方法》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>