Как настроить ответ Unauthorized 401 JSON авторизатора пула пользователей cognito в AWS API Gateway
Я добавил пул пользователей Cognito в качестве авторизатора в AWS API Gateway. Затем я протестировал этот авторизатор с помощью id_token, и он работает нормально. Я использовал лямбда-функции для регистрации / входа пользователей в пул пользователей Cognito.
Теперь мой вопрос заключается в том, как настроить ответ на ошибку, когда срок действия id_token истек или когда авторизатор когнитивных данных не может аутентифицировать текущего пользователя. В настоящее время я только получаю
{
"message": "Unauthorized"
}
ИЛИ
{
"message": "The incoming token has expired"
}
с ответом 401
1 ответ
Решение
Вы можете использовать ответы шлюза в API-шлюзе, чтобы изменить код состояния HTTP и ответ, который возвращается клиенту.
По умолчанию для описанного вами сценария ответ - "Неавторизован", а код состояния - 401. Чтобы изменить это -
- Перейдите к "Ответам шлюза" в левом столбце вашего API.
- Выберите "Неавторизованный" и нажмите "Изменить" в правом верхнем углу.
- Щелкните "application/json:" в разделе "Шаблоны ответов".
- Измените там сообщение как
{"message":"Your custom message"}
в разделе "Шаблон тела ответа" (см. снимок экрана ниже). - Разверните API и подождите минуту, чтобы изменения вступили в силу.