hotfix(auth): fix TOTP validation bypass issue

This commit is contained in:
Nriver 2025-04-02 14:29:37 +08:00
parent 9a5793dfdd
commit 30fb754a5f

View File

@ -77,11 +77,6 @@ function login(req: Request, res: Response) {
const submittedPassword = req.body.password; const submittedPassword = req.body.password;
const submittedTotpToken = req.body.totpToken; const submittedTotpToken = req.body.totpToken;
if (!verifyPassword(submittedPassword)) {
sendLoginError(req, res, 'password');
return;
}
if (totp.isTotpEnabled()) { if (totp.isTotpEnabled()) {
if (!verifyTOTP(submittedTotpToken)) { if (!verifyTOTP(submittedTotpToken)) {
sendLoginError(req, res, 'totp'); sendLoginError(req, res, 'totp');
@ -89,6 +84,11 @@ function login(req: Request, res: Response) {
} }
} }
if (!verifyPassword(submittedPassword)) {
sendLoginError(req, res, 'password');
return;
}
const rememberMe = req.body.rememberMe; const rememberMe = req.body.rememberMe;
req.session.regenerate(() => { req.session.regenerate(() => {