当前位置: 首页 > 知识库问答 >
问题:

使用ApiGateway授权程序验证Github有效负载签名(X-Hub-Signature)

司徒骞尧
2023-03-14

我目前正在开发一个简单的api来接收Github事件有效负载,我想验证它们是否来自正确的源。有了这个,我就可以在请求头中使用hmac签名(由github使用我提供的秘密生成)。为了验证签名,ApiGateway授权人需要签名(X-Hub-signature)、用于生成签名的秘密以及消息正文。据我所知,Api网关不允许您将主体传递给Api网关授权者。有人知道一种不需要额外的代理lambda和s3的方法吗?

*注意:请求者是Github Webook服务(无法将正文添加到标题)

基本ApiGateway Auth文档:https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html

共有1个答案

严知
2023-03-14

这是你怎么做的。

将您的内容传递到传入请求的授权头,它将被传递到您的自定义授权程序。

从下面的属性中抓取the的内容,

event.authorizationToken

其中,事件是传递给lambda的参数之一(第1个),

我目前加密并将所有信息添加到该头中,并将其发送到自定义授权人lambda。

您还可以访问其他参数,如下所示:

var headers = event.headers;
var queryStringParameters = event.queryStringParameters;
var pathParameters = event.pathParameters;
var stageVariables = event.stageVariables;
var requestContext = event.requestContext;

希望有帮助。

 类似资料:
  • 下面是一个带有位置的有效载荷的示例: 更新:在furthere检查中,似乎只有当有效载荷中有“attatchments”字段时,验证才会失败。所以如果也失败了,当我发送一张图片或gif或类似的东西。

  • 我们已经实现了 OAuth2 授权服务器(和身份提供程序)。现在,我们要执行负载测试来衡量系统性能。 我现在遇到的具体问题是,我想对授权代码流进行负载测试。到目前为止我一直在用JMeter。但是我不知道如何为所需的redirect_uri提供一个endpoint来完成这个流程。到底有没有办法做到这一点,还是我运气不好?谷歌帮不上忙。如果JMeter做不到,有没有工具可以?

  • 技术栈在前端是reactJS,后端由APIGateway和Lambda供电。我正在使用Auth0作为我的react应用程序中的身份服务。通过Auth0提供的一个社交登录进行身份验证时,我会返回、和。此外,我可以使用获取用户信息,例如。现在,我需要保护/阻止对我的后端即APIGateway和lambda的访问。 有很多选项来保护对AWS APIGateway的访问,如IAM授权器、自定义授权器。有一

  • 我正在编写一些代码,试图对一些数据进行签名。在将openssl生成的私钥转换为Java密钥库之后,我将Java签名类与SHA256withRSA一起使用。我试图确认openssl中Java类返回的签名,但由于某些原因,我无法让openssl进行验证。我最终需要在iOS Swift 3中实现这个签名验证,但在找到库之前,我想尝试根据openssl标准检查Java签名。 例如,我从我们的登录服务器得到

  • 我正在尝试将支付网关集成到我的nodejs应用程序中。当支付完成时,网关用支付结果将用户重定向到我的站点。结果是RSA签名的,我需要用支付网关提供的公钥来验证它。 下面是支付网关为签名验证提供的示例PHP代码。 有谁知道怎么把这件事搞定吗?