Как я могу вернуть 401 Неавторизованный из пользовательского авторизатора в API Gateway, не вызывая лямбда-ошибку? - PullRequest
1 голос
/ 16 октября 2019

У меня есть собственный авторизатор для AWS Cognito, использующий Node JS в Lambda, и он прекрасно работает. В основном он использует код, предоставленный в этом руководстве .

Мой пользовательский авторизатор может работать по нескольким причинам: пользователь использует неверный пул, пользователь отправил неверный токен авторизации,и т.д. Всякий раз, когда это происходит, я звоню:

      context.fail("Unauthorized");

, и это тоже хорошо работает.

К сожалению, когда срок действия токена пользователя истек (что происходит постоянно, особенно утром, если кто-то оставил свой браузер открытым), я также вызываю тот же метод, и это единственный известный мне способвернуть сообщение 401. Это работает, и пользователь возвращается на страницу входа в систему.

Проблема в том, что на моей информационной панели Cloudwatch, где мы отслеживаем неработающий код / ​​подозрительную активность, каждый раз, когда кто-то оставляет свой браузер открытым, мы видимЛямбда ошибкаЭто очень шумно и мешает поймать кого-то, кто делает что-то подозрительное.

enter image description here

Итак, мой вопрос: как я могу выйти из строя авторизатором, вернуть 401(или что-то еще), не выполняется API REST, а также НЕ отображается ошибка в CloudWatch?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...