Add a noauto query param to login

This commit is contained in:
QuantumEntangledAndy 2024-10-07 09:17:43 +07:00
parent 329469021e
commit 1cda7003d1
No known key found for this signature in database
GPG Key ID: 3EB4B66F30C609B6
3 changed files with 27 additions and 10 deletions

View File

@ -180,7 +180,13 @@ function displayError(message) {
* Preserves the query string.
*/
function redirectToHome() {
window.location.href = '/' + window.location.search;
// After a login theres no need to preserve the
// noauto (if present)
const urlParams = new URLSearchParams(window.location.search);
urlParams.delete('noauto');
window.location.href = '/' + urlParams.toString();
}
/**

View File

@ -848,7 +848,14 @@ async function logout() {
headers: getRequestHeaders(),
});
window.location.reload();
// On an explicit logout stop auto login
// to allow user to change username even
// when auto auth (such as authelia or basic)
// would be valid
const urlParams = new URLSearchParams(window.location.search);
urlParams.set('noauto', 'true');
window.location.search = urlParams.toString();
}
/**

View File

@ -569,6 +569,7 @@ function shouldRedirectToLogin(request) {
/**
* Tries auto-login if there is only one user and it's not password protected.
* or another configured method such authlia or basic
* @param {import('express').Request} request Request object
* @returns {Promise<boolean>} Whether auto-login was performed
*/
@ -577,6 +578,8 @@ async function tryAutoLogin(request) {
return false;
}
console.warn(request.session.noauto);
if (!request.query.noauto) {
if (await singleUserLogin(request)) {
return true;
}
@ -588,6 +591,7 @@ async function tryAutoLogin(request) {
if (PERUSER_BASIC_AUTH && await basicUserLogin(request)) {
return true;
}
}
return false;
}