Когда мы выполняем пользовательский лямбда-вызов функции авторизации шлюза AWS API Gateway, можно ли вернуть новый настраиваемый атрибут заголовка?(вместе с политикой) - PullRequest
0 голосов
/ 11 июня 2018

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

Можете ли вы дать совет, можно ли установить параметр заголовка, если мы сделаем вызов лямбда-выражения вПользовательский Уровень авторизации.

Спасибо -

1 Ответ

0 голосов
/ 12 июня 2018

Пользовательские авторизаторы возвращают политики обратно в 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-шлюз будет передавать запрос API с заголовком «new» сзначение, установленное в пользовательском авторизаторе для вашего бэкэнда.

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