Merge pull request #1162 from TriliumNext/refactor_routes-login

refactor(routes/login): simplify login function and get rid of deprecated usage of expires
This commit is contained in:
Elian Doran 2025-02-11 10:03:09 +02:00 committed by GitHub
commit b1bf6931f2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

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) {