Kyl*_*-St 5 github amazon-web-services git-webhooks github-webhook
我正在尝试让 Github Webhook 启动我拥有的 AWS Lambda。我能弄清楚如何做到这一点的最好方法是使用 AWS API Gateway,问题是安全性。
Github Webhooks 只会通过 POST 调用发送一个秘密。
我找不到任何方法让 AWS API Gateway 验证此签名。或者我可以在哪里添加此功能。
我假设我可以编写一个AWS Lambda Authorizer。但这是很多不同地方的代码,开始看到需要serverless框架。
我不知道在 AWS 中有更简单的设置吗?
来到这里是因为我试图将 Github webhook 与 AWS lambda 集成,并遇到了与 OP 相同的问题。在撰写本文时,我认为最好的解决方案是在主 lambda 中包含验证代码,正如其他人所建议的那样。
\n\n2017 年 9 月的 AWS 计算机博客上:
\n\n\n\n\n增强的请求授权方 Lambda 函数接收类似于代理集成的事件对象。它包含有关请求的所有信息,不包括正文。
\n
来源: 在 Amazon API Gateway 中使用增强型请求授权方 (amazon.com)
\n\n您无法按照 Github 的建议执行 HMAC,因为 AWS 授权者 lambda 不允许您访问 HTTP 请求的正文,而您需要访问该正文才能比较摘要。
\n\n这很遗憾,因为 HMAC 似乎是保护响应 Webhook 的端点的相当标准的方法。例如,请参阅这篇博文,Webhooks do\xe2\x80\x99s 和 dont\xe2\x80\x99s:我们在集成 +100 个 API (restful.io) 后学到了什么。Twitter 和 Stripe 做了类似的事情:
\n\n\n\n为了使上述方法发挥作用,如果您使用 API Gateway,则需要确保包含哈希签名的标头作为eventlambda 参数的一部分转发。为此,请按照以下说明操作:如何使用自定义 Lambda 集成将自定义标头通过 Amazon API Gateway 传递到 AWS Lambda 函数以进行进一步处理?(亚马逊网站)
| 归档时间: |
|
| 查看次数: |
2184 次 |
| 最近记录: |