Anmeldung gilt 7 Tage statt 12 Stunden

JWT-Laufzeit (JWT_EXPIRES_IN) standardmaessig auf 7d gesetzt, damit
Benutzer nicht mehr taeglich neu anmelden muessen. Doku (Betrieb,
Benutzeranleitung, Glossar) und .env.example angepasst.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-09-23 22:10:46 +02:00
co-authored by Claude Opus 5.5
parent cbac02a96a
commit 4adf48f336
5 changed files with 439 additions and 439 deletions
+1 -1
View File
@@ -56,7 +56,7 @@ Apache und MariaDB mitreißen.
| --- | --- |
| `PORT`, `HOST` | `5007` auf `127.0.0.1` – von außen nur über Apache |
| `DB_HOST`, `DB_PORT`, `DB_USER`, `DB_PASSWORD`, `DB_NAME` | MariaDB, Datenbank `icon_CRM` |
| `JWT_SECRET`, `JWT_EXPIRES_IN` | Sitzungen, Vorgabe 12 h |
| `JWT_SECRET`, `JWT_EXPIRES_IN` | Sitzungen, Vorgabe 7 Tage (`7d`) |
| `ADMIN_USERNAME`, `ADMIN_NAME`, `ADMIN_EMAIL`, `ADMIN_PASSWORD` | erster Administrator, **nur solange `icon_users` leer ist** |
| `CORS_ORIGINS` | erlaubte Herkunft für den lokalen Dev-Server |
| `UPLOAD_DIR` | Ablage der Lebensläufe |
+1 -1
View File
@@ -4,7 +4,7 @@ Diese Anleitung setzt nichts voraus. Adresse: <https://icrm.icon-experts.de>.
## Anmelden
Benutzername oder E-Mail und Passwort. Die Anmeldung gilt 12 Stunden; danach
Benutzername oder E-Mail und Passwort. Die Anmeldung gilt 7 Tage; danach
fragt das CRM erneut. Passwort ändern: *Einstellungen → Mein Konto*.
Rechts oben stehen zwei Umschalter: die **Farbwelt** (ICON, Half-Life, Pixel
+1 -1
View File
@@ -60,7 +60,7 @@ angemeldeten Benutzer vorbelegt.
**Diktat / Whisper** – Spracherkennung, die vollständig im Browser läuft. Siehe
[04 Diktat](04-diktat.md).
**JWT** – das Token der Anmeldung, 12 Stunden gültig, im `localStorage`. Wird
**JWT** – das Token der Anmeldung, 7 Tage gültig, im `localStorage`. Wird
bei jeder Anfrage zusätzlich gegen die Datenbank geprüft.
**MentionField** – das Textfeld mit zwei Zuständen (lesen / bearbeiten) für
+1 -1
View File
@@ -15,7 +15,7 @@ DB_NAME=icon_CRM
# Signiert die JWT-Sitzungen. Langer Zufallswert, z. B.:
# node -e "console.log(require('crypto').randomBytes(48).toString('base64url'))"
JWT_SECRET=changeme-langer-zufallswert
JWT_EXPIRES_IN=12h
JWT_EXPIRES_IN=7d
# Wird beim ersten Start angelegt, solange noch kein Benutzer existiert.
# Ohne ADMIN_PASSWORD erzeugt das Backend eines und schreibt es einmalig ins Log.
+1 -1
View File
@@ -11,7 +11,7 @@ function secret() {
export function signToken(user) {
return jwt.sign({ sub: user.id, role: user.role }, secret(), {
expiresIn: process.env.JWT_EXPIRES_IN || '12h',
expiresIn: process.env.JWT_EXPIRES_IN || '7d',
});
}