From ff71cb40e1a9aa8c8d3127f43fc056828c28f34e Mon Sep 17 00:00:00 2001 From: schakal00783 Date: Mon, 21 Sep 2026 21:56:54 +0200 Subject: [PATCH] docs: Sitzungsdauer und .env-Werte im README festhalten Die Umstellung auf eine Woche stand bisher nur im Code und in der Commit-Nachricht. Im README fehlte ueberhaupt eine Aussage dazu, wann jemand ausgeloggt wird - eine Frage, die im Betrieb regelmaessig kommt. Dazu die Werte, die nur in der Produktions-.env stehen und ein Deployment ueberdauern, samt Hinweis, dass eine Aenderung dort einen Neustart des Dienstes braucht. Co-Authored-By: Claude Opus 5 (1M context) --- README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/README.md b/README.md index e48ffc0..48a5cb0 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,13 @@ Die Startseite gilt nach jeder Anmeldung (Passwort und SSO), auch wenn noch eine Rechte werden im Menü **und** im Backend (403) geprüft. Jeder bucht nur auf Projekte, denen er zugewiesen ist. +**Sitzungsdauer**: Das Token gilt **7 Tage ab der Anmeldung** (`JWT_EXPIRES_IN` in `server/.env`, Vorgabe im Code +ebenfalls `7d`). Es verlängert sich nicht bei Aktivität und es gibt keinen Leerlauf-Timer; abgelaufen meldet der +Server `401 „Sitzung abgelaufen“`, der Browser verwirft das Token und zeigt den Anmeldebildschirm. Das Token liegt im +`localStorage`, ein Neuladen beendet die Sitzung also nicht. Deaktivierte Konten und geänderte Rollen greifen trotzdem +sofort – `requireAuth` lädt den Benutzer bei jeder Anfrage frisch aus der Datenbank. Eine geänderte Frist gilt erst für +Tokens, die danach ausgestellt werden. + ## Fachregeln - **Zeiteingabe**: `1:23` = 1 h 23 min, `1,5` / `1.5` = 1 h 30 min, außerdem `2`, `:45`, `1h 30m`. @@ -240,6 +247,10 @@ powershell -File deploy/deploy.ps1 -Deps # zusätzlich npm ci im Backend Die Produktions-`.env` liegt nur auf dem Server (`/var/www/pulse/server/.env`, 600). `SETTINGS_KEY` nicht ändern, sonst ist das gespeicherte SSO-Secret unlesbar. +Werte, die nur dort stehen und ein `deploy.ps1` überdauern: `JWT_SECRET`, `JWT_EXPIRES_IN` (Sitzungsdauer, aktuell +`7d`), `SETTINGS_KEY`, `ADMIN_PASSWORD`, Datenbankzugang. Nach einer Änderung an der `.env` den Dienst neu starten +(`systemctl restart perinco-pulse-backend`) – das Deployment allein liest sie nicht neu ein. + ## Anforderungs-Checkliste Aus Auftrag und Call-Mitschrift.