Моя цель состоит в том, чтобы мой пользователь выполнил вход с помощью Cognito и получил временную роль IAM, которая предоставляет ему HTTP-доступ к определенным методам в API Gateway.
Что я уже сделал:
- настройка моего пула пользователей
- настройка моего пула удостоверений
настройка ролей IAM для аутентифицированных и не прошедших проверку пользователей
создать группу с ролью IAM, разрешающей доступ к POST для (в настоящее время) всех методов шлюза API.
поместить моего пользователя в группу
настроить метод API-шлюза на использование IAM
авторизации
Я могу войти через Cognito в своем браузере, используя интерфейс, созданный с помощью Amplify.
Когда я проверяю в браузере локальное хранилище, я вижу следующее:
idToken
accessToken
refreshToken
Когда я сделал это с помощью авторизатора COGNITO
на API-шлюзе, все, что мне нужно было сделать в Postman, это добавить заголовок Authorization
и вставитьв idToken
.Это дало мне доступ к API.
Как я могу протестировать мой API, используя Postman с авторизацией IAM?
Мне все еще выдаются токены, но теперь я вставляю их в заголовок Authorization
выдает мне сообщение об ошибке:
Authorization header requires 'Credential' parameter. Authorization header requires 'Signature' parameter. Authorization header requires 'SignedHeaders' parameter. Authorization header requires existence of either a 'X-Amz-Date' or a 'Date' header.
Я прочитал, что мне нужно подписывать запросы, но я не уверен, как бы это сделать из моего приложения на основе веб-браузера.
Даже если я могу это сделать, как я могу проверить в Почтальоне, или это больше невозможно?