Используйте ApiGateway Authorizer для проверки подписи полезной нагрузки Github (X-Hub-Signature) - PullRequest
0 голосов
/ 09 ноября 2018

В настоящее время я работаю над простым API для получения полезных нагрузок событий Github, и я хочу проверить, что они поступают из правильного источника.С этим я работаю, чтобы использовать подпись hmac в заголовке запросов (генерируется github с использованием предоставленного мной секрета).Для проверки подписи авторизатору ApiGateway требуется подпись (X-Hub-Signature), секретный ключ, использованный для генерации подписи, и тело сообщения.Насколько я могу судить, Api Gateway не позволяет передавать тело авторизатору ApiGateway.Кто-нибудь знает способ обойти это, что не требует дополнительных прокси лямбда и s3?

* Примечание: Запрашивающая сторона - это служба Github Webhook (не может добавить тело к заголовку)

Basic ApiGatewayAuth Docs: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html

1 Ответ

0 голосов
/ 09 ноября 2018

Вот как вы это делаете.

Передайте ваш контент в Авторизация заголовок вашего входящего запроса, он будет доставлен на ваш пользовательский Авторизатор.

Получить содержимое атрибута, указанного ниже,

event.authorizationToken

, где событие - это один из параметров (1-й), передаваемый лямбде,

В настоящее время я шифрую и добавляю всю информацию в этот заголовок и получаю лямбду Custom Authorizer.

Вы также можете получить доступ к дополнительным параметрам, как показано ниже в вашем настраиваемом лямбде Authorizer:

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

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...