Commit Graph
2 Commits
Author SHA1 Message Date
dsh dad6e07b73 feat: styled login page + structured JSONL audit logging
- Browser navigation now gets a self-contained login page (no JS, CSP
  hardened, XSS-escaped, cross-origin POST rejected) instead of the native
  Basic dialog; API clients keep 401 + WWW-Authenticate.
- Login/logout endpoints (/panel-auth/login, /panel-auth/logout) issue and
  revoke the signed cookie, then 303 back to the original target.
- Structured audit log (login-ok/login-fail/logout/challenge/reject with
  username, IP, UA, reason), default $DSH_HOME/panel-auth-audit.jsonl,
  5MB rotation; X-Forwarded-For honored behind the reverse proxy.
- Function-plugin form, per-request config, fail-open when unconfigured.
- Tests extended to 15 flows including login page, login POST, logout,
  audit assertions and XSS escaping.
2026-08-16 01:32:37 -04:00
dsh dde1431180 panel-auth: DSH web panel password gate plugin (Basic auth + signed cookie, fail-open) 2026-08-16 01:18:21 -04:00