Как реализовать Password Reset flow в Node.js?

Middle
344 просмотров
AFK Offer AI

Сброс пароля: 1) POST /auth/forgot-password с email. 2) Генерируй reset token через crypto.randomBytes(32). 3) Сохраняй SHA256(token) в БД с TTL 1 час. 4) Отправляй email со ссылкой. 5) POST /auth/reset-password — валидируй token, хэшируй новый пароль через bcrypt, инвалидируй все активные сессии и refresh tokens пользователя. Важно: не показывай разные сообщения когда email не найден — это information disclosure. Всегда отвечай "если email существует, письмо отправлено".

Следующий вопрос

Что такое TDD (Test-Driven Development) и как применять в Node.js?