refactor(routes/login): refactor login fn

I also got rid of the deprecated use of "expires" - setting maxAge to undefined is the preferred way
This commit is contained in:
Panagiotis Papadopoulos 2025-02-11 07:55:18 +01:00
parent 1e95135720
commit e3b7ae018f

View File

@ -57,30 +57,27 @@ function setPassword(req: Request, res: Response) {
}
function login(req: Request, res: Response) {
const guessedPassword = req.body.password;
const { password, rememberMe } = req.body;
if (verifyPassword(guessedPassword)) {
const rememberMe = req.body.rememberMe;
req.session.regenerate(() => {
if (rememberMe) {
req.session.cookie.maxAge = 21 * 24 * 3600000; // 3 weeks
} else {
req.session.cookie.expires = null;
}
req.session.loggedIn = true;
res.redirect(".");
});
} else {
if (!verifyPassword(password)) {
// note that logged IP address is usually meaningless since the traffic should come from a reverse proxy
log.info(`WARNING: Wrong password from ${req.ip}, rejecting.`);
res.status(401).render("login", {
return res.status(401).render("login", {
failedAuth: true,
assetPath: assetPath
});
}
req.session.regenerate(() => {
const sessionMaxAge = 21 * 24 * 3600000 // 3 weeks in Milliseconds
req.session.cookie.maxAge = (rememberMe) ? sessionMaxAge : undefined;
req.session.loggedIn = true;
res.redirect(".");
});
}
function verifyPassword(guessedPassword: string) {