Когда мы создаем настраиваемый вызов лямбда-функции AWS API Gateway, может ли return получить новый настраиваемый атрибут заголовка? (вместе с политикой)

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

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

Спасибо -

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
176
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

Спасибо за ответ :)

sarath VNV 12.06.2018 21:05

Другие вопросы по теме