Как вызвать Cognito User Pool для аутентификации со страницы Javascript для шлюза Lambda API

У меня настроенная панель управления Amazon Connect, где агент может принимать вызовы. Я разработал собственный HTML-экран, на котором агент может вводить данные клиента и сохранять его в базе данных. Для сохранения я вызываю лямбда-функцию, используя API-шлюз. Я звоню в шлюз URL со страницы HTML. Теперь я хочу защитить URL-адрес шлюза API с помощью пула пользователей Cognito, в который я интегрировал Active Directory. Я нашел несколько решений, но они посылают пароль для метода authenticateUser. Так он выставит пароль на HTML странице. Есть ли способ, где я могу избежать этого?

Спасибо, Ганс

2 ответа

Я не вижу никаких проблем в "разоблачении" пароля на HTML-странице. Используя cognito JS SDK, аутентифицируемый пользователь напрямую предоставит ключ доступа. Затем вы можете использовать ключ для аутентификации ваших запросов к шлюзу API.

Вам необходимо использовать единого поставщика удостоверений, который интегрирован в Amazon Connect и Cognito через SAML. Это единственный способ аутентификации пользователя один раз и использования идентификатора / токена для авторизации в Connect CCP и шлюзе API (через авторизатор Cognito). В этом случае вам потребуется запустить новый экземпляр Amazon Connect с интеграцией SAML, а затем настроить пул удостоверений, а не пул пользователей, в Cognito, поскольку это позволит вам интегрироваться с поставщиком удостоверений на основе SAML.

Если вы хотите использовать пул пользователей в Cognito, вам нужно будет запустить вспомогательное диалоговое окно имени пользователя / пароля, когда ваше приложение загружается для захвата учетных данных Cognito после того, как пользователь прошел аутентификацию в Amazon Connect.