У нас есть пул пользователей Cognito, который содержит пользователей, которым мы хотели бы разрешить доступ к нашему API. Наш API использует функции Lambda для обслуживания конечных точек. Пул Cognito настроен с помощью настраиваемого поля roles
, которое по сути представляет собой список ролей, разделенных запятыми, которыми обладает пользователь.
Теперь, во-первых, мы хотим, чтобы имела место аутентификация Cognito (чтобы определить, действительно ли пользователь принадлежит к нашему пулу и действительны ли учетные данные). Затем мы каким-то образом хотим запустить нашу настраиваемую логику для запуска, которая будет смотреть на поле roles
, которое она получит через утверждения, а затем разрешить или отклонить запрос на основе внутренней бизнес-логики.
Мы попытались использовать настраиваемый авторизатор для реализации этой логики и установить его в качестве авторизатора для наших конечных точек. Затем мы включили авторизацию Cognito для этой функции авторизации. Проблема в том, что, поскольку Cognito защищает конечные точки API, а не лямбда-функции как таковые, авторизация Cognito просто не запускается при попадании в конечную точку API и вызове настраиваемого авторизатора.
Как мы достигаем цели использования настраиваемой логики с авторизацией Cognito? Любая помощь в этом отношении будет принята с благодарностью.