feat: Add Remember Me to admin login

- Added Remember Me checkbox to login form with 30-day session expiry
- Sessions default to 1 day; when remember_me=true, expire in 30 days
- User info stored in localStorage (persistent) vs sessionStorage (per-tab)
- initAuth() checks localStorage first, then sessionStorage for user info
This commit is contained in:
Leo
2026-06-01 13:10:26 -04:00
parent ed5e3ff9ec
commit 7a2d283379
2 changed files with 19 additions and 7 deletions
+4 -2
View File
@@ -834,9 +834,11 @@ def login(body: dict):
raise HTTPException(status_code=401, detail="Invalid username or password")
token = _generate_token()
remember_me = body.get("remember_me", False)
expiry = "+30 days" if remember_me else "+1 day"
conn.execute(
"INSERT INTO sessions (user_id, token, expires_at) VALUES (?, ?, datetime('now', '+1 day'))",
(row["id"], token),
"INSERT INTO sessions (user_id, token, expires_at) VALUES (?, ?, datetime('now', ?))",
(row["id"], token, expiry),
)
conn.commit()
_log_activity(conn, "login", "user", row["id"],