Tyl*_*lko 5 amazon-web-services aws-cloudformation aws-api-gateway lambda-authorizer
我目前正在开发一个简单的 api 来接收 Github 事件负载,并且我想验证它们是否来自正确的源。通过这个,我正在努力在请求标头中使用 hmac 签名(由 github 使用我提供的秘密生成)。为了验证签名,ApiGateway 授权者需要签名 (X-Hub-Signature)、用于生成签名的密钥以及消息正文。据我所知,Api Gateway 不允许您将正文传递给 ApiGateway 授权者。有谁知道不需要额外的代理 lambda 和 s3 的解决方法吗?
*注意:请求者是Github Webhook服务(无法将正文添加到标头)
基本 ApiGateway 身份验证文档: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html
以下是具体操作方法。
将您的内容传递到传入请求的授权标头,它将传递给您的自定义授权者。
从以下属性中获取内容,
事件.authorizationToken
其中event是传递给 lambda 的参数之一(第一个),
我目前加密所有信息并将其添加到该标头中,然后传递给自定义授权者 lambda。
您还可以在自定义 Authorizer lambda 中访问以下附加参数:
var headers = event.headers;
var queryStringParameters = event.queryStringParameters;
var pathParameters = event.pathParameters;
var stageVariables = event.stageVariables;
var requestContext = event.requestContext;
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你。
| 归档时间: |
|
| 查看次数: |
1161 次 |
| 最近记录: |