У меня есть собственный авторизатор для AWS Cognito, использующий Node JS в Lambda, и он прекрасно работает. В основном он использует код, предоставленный в этом руководстве .
Мой пользовательский авторизатор может работать по нескольким причинам: пользователь использует неверный пул, пользователь отправил неверный токен авторизации,и т.д. Всякий раз, когда это происходит, я звоню:
context.fail("Unauthorized");
, и это тоже хорошо работает.
К сожалению, когда срок действия токена пользователя истек (что происходит постоянно, особенно утром, если кто-то оставил свой браузер открытым), я также вызываю тот же метод, и это единственный известный мне способвернуть сообщение 401. Это работает, и пользователь возвращается на страницу входа в систему.
Проблема в том, что на моей информационной панели Cloudwatch, где мы отслеживаем неработающий код / подозрительную активность, каждый раз, когда кто-то оставляет свой браузер открытым, мы видимЛямбда ошибкаЭто очень шумно и мешает поймать кого-то, кто делает что-то подозрительное.
Итак, мой вопрос: как я могу выйти из строя авторизатором, вернуть 401(или что-то еще), не выполняется API REST, а также НЕ отображается ошибка в CloudWatch?