У меня есть проект, который должен использовать Lambda
функции, которые запускаются API Gateway
с защищенным авторизатором. Я установил метод ресурса, чтобы требовать заголовок авторизации, который token id
указан в ответе Cognito на аутентификацию.,В основном все защищенные маршруты в приложении обрабатываются ALB
, который всегда проверяет, защищен ли запрошенный маршрут, и если это так, то перенаправляет на sign-in
Cognito в случае отсутствия сеанса, после успешной аутентификации, Балансировщик нагрузки будетперенаправить запрос в приложение с дополнительными заголовками:
- x-amzn-oidc-data
- x-amzn-oidc-accesstoken
Оба в некотором смысле говорят JWT
с заявками пользователей из аутентификации.Обычно для конечной точки API Gateway
, защищенной авторизатором cognito, требуется token id
, который легко получить с помощью implicit flow
в аутентификации cognito, но ALB
использует поток authorization code
, который дает только код сеанса.И данные из x-amzn-oidc-data
и token id
выглядят одинаково, но когда я пытаюсь получить доступ к конечной точке, используя данные из ALB
, я получаю только unauthorized
.
Идеальный поток выглядит следующим образом: 
Я знаю, что мог бы избежать всего этого процесса, просто внедрив функцию Lambda
непосредственно в ALB
в качестве триггера, но мой проект только ищет автоматические развертывания и CloudFormation
все ещене поддерживает Lambda
реализации для ELB
.
TL: DR
Простой вопрос: как я могу предоставить доступ в API Gateway
с использованием токенас разрешения ALB
?