feat(auth): "Angemeldet bleiben"-Checkbox auf Login-Screen
Wenn aktiviert, bekommt der JWT-Token statt der üblichen 7 Tage eine Lebensdauer von 180 Tagen. Der Token liegt wie bisher in localStorage, bleibt also bis zum manuellen Löschen / Cookie-Reset gültig. - backend/routers/auth_router.py: LoginRequest.remember_me, längere expires_delta beim Token-Erstellen - index.html: Checkbox unter dem 2FA-Feld - api.js: login() reicht remember_me als 4. Parameter durch - app.js: Wert aus #login-remember lesen und mitschicken - Version v5 → v6
This commit is contained in:
@@ -64,8 +64,8 @@ export const api = {
|
||||
delete: (path) => request('DELETE', path),
|
||||
upload: (path, form) => uploadRequest(path, form),
|
||||
|
||||
login: (username, password, totp_code = null) =>
|
||||
request('POST', '/auth/login', { username, password, totp_code }),
|
||||
login: (username, password, totp_code = null, remember_me = false) =>
|
||||
request('POST', '/auth/login', { username, password, totp_code, remember_me }),
|
||||
|
||||
setupRequired: () => request('GET', '/auth/setup-required'),
|
||||
setup: (data) => request('POST', '/auth/setup', data),
|
||||
|
||||
@@ -141,11 +141,12 @@ function bindLoginForm() {
|
||||
const username = document.getElementById('login-username').value.trim();
|
||||
const password = document.getElementById('login-password').value;
|
||||
const totpCode = document.getElementById('login-totp')?.value.trim() || null;
|
||||
const remember = document.getElementById('login-remember')?.checked || false;
|
||||
const errEl = document.getElementById('login-error');
|
||||
errEl.classList.add('hidden');
|
||||
|
||||
try {
|
||||
const res = await api.login(username, password, totpCode);
|
||||
const res = await api.login(username, password, totpCode, remember);
|
||||
localStorage.setItem('token', res.access_token);
|
||||
localStorage.setItem('user', JSON.stringify(res.user));
|
||||
await launchApp();
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
// Increment APP_VERSION with every code change
|
||||
export const APP_VERSION = 'v5';
|
||||
export const APP_VERSION = 'v6';
|
||||
|
||||
Reference in New Issue
Block a user