Мы используем вызов настраиваемой авторизации лямбда-функции AWS API Gateway для авторизации пользовательского вызова. Его политика возвращает (если автор) или возвращает 401. Он работает нормально. Но мы предполагаем, что пользовательский вызов лямбда-функции авторизации должен возвращать новый атрибут заголовка (flag-true / false) вместе с политикой. Таким образом, мы можем использовать этот атрибут заголовка в вызове ECS API для различения логики API для авторского вызова и неавторизованного API.
Не могли бы вы посоветовать, можно ли установить параметр заголовка, если мы вызываем лямбда-выражение на уровне пользовательских авторизаций.
Спасибо -





Пользовательские авторизаторы возвращают политики обратно в API Gateway. Эта политика доступна в шаблоне отображения тела в context.authorizer.propertyname. Например, если вы хотите передать PrincipalId, возвращаемый авторизатором, в качестве заголовка, ваш шаблон отображения тела будет выглядеть следующим образом:
{"PrincipalId": "$ context.authorizer.principalId"}
Если вы хотите передать свойство, обычно не включаемое в политику, вы можете просто добавить его в настраиваемый авторизатор Lambda. Политика - это просто объект JSON.
Пример в Node.js: если вы создали объект политики с именем aPolicy и хотите добавить новое свойство с именем 'new' со значением 'true', вы должны добавить следующие строки.
aPolicy.context = {};
aPolicy.context.new = 'true';
Затем в шаблоне отображения тела в API-шлюзе добавьте
{"new" : "$context.authorizer.new"}
Теперь API Gateway будет передавать запрос API с заголовком «новый» со значением, установленным в настраиваемом авторизаторе, на ваш бэкэнд.
Спасибо за ответ :)