docker
This commit is contained in:
@@ -29,12 +29,12 @@ function sendMail({ to, subject, text }) {
|
||||
.finally(() => transporter.close());
|
||||
}
|
||||
|
||||
function sendVerificationCode(email, code) {
|
||||
console.log(`[register] код для ${email}: ${code}`);
|
||||
function sendVerificationCode(email, code, codeNumber) {
|
||||
console.log(`[register] код №${codeNumber} для ${email}: ${code}`);
|
||||
return sendMail({
|
||||
to: email,
|
||||
subject: 'Код подтверждения регистрации',
|
||||
text: `Ваш код подтверждения регистрации: ${code}\n\nКод действителен 10 минут.`
|
||||
subject: `Код подтверждения №${codeNumber}`,
|
||||
text: `Ваш код подтверждения №${codeNumber}: ${code}\n\nКод действителен 10 минут.`
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -47,10 +47,10 @@ router.post('/send-code', async (req, res) => {
|
||||
return res.status(429).json({ success: false, error: 'Код уже отправлен, подождите 30 секунд' });
|
||||
}
|
||||
try {
|
||||
const { code } = requests.issueCode(email);
|
||||
await mailer.sendVerificationCode(email, code);
|
||||
const { code, codeNumber } = requests.issueCode(email);
|
||||
await mailer.sendVerificationCode(email, code, codeNumber);
|
||||
lastSendAt.set(String(email).toLowerCase(), Date.now());
|
||||
res.json({ success: true, message: 'Код отправлен на указанную почту' });
|
||||
res.json({ success: true, codeNumber, message: `Код №${codeNumber} отправлен на указанную почту. Введите код из письма с номером ${codeNumber}.` });
|
||||
} catch (err) {
|
||||
errorResponse(res, err);
|
||||
}
|
||||
|
||||
@@ -130,12 +130,14 @@ function issueCode(email) {
|
||||
};
|
||||
}
|
||||
const code = String(Math.floor(100000 + Math.random() * 900000));
|
||||
const codeNumber = 1 + Math.floor(Math.random() * 4094);
|
||||
record.codeHash = crypto.createHash('sha256').update(code).digest('hex');
|
||||
record.codeExpiresAt = Date.now() + CODE_TTL_MS;
|
||||
record.codeNumber = codeNumber;
|
||||
record.attempts = 0;
|
||||
record.emailVerified = false;
|
||||
saveRequest(record);
|
||||
return { record, code };
|
||||
return { record, code, codeNumber };
|
||||
}
|
||||
|
||||
function verifyCode(email, code) {
|
||||
|
||||
Reference in New Issue
Block a user