feat: Multi-User-Unterstützung mit JWT-Authentifizierung
- User-Modell (username, password_hash, role admin/user, is_active) - Standard-Admin-Benutzer wird beim ersten Start automatisch angelegt - JWT-Tokens (HS256) für Benutzer-Sessions, konfigurierbare Ablaufzeit - API-Key bleibt für service-to-service-Calls (backward-compatible) - POST /api/v1/auth/login → JWT-Token - GET /api/v1/auth/me → aktueller Benutzer - CRUD /api/v1/users/ → Benutzerverwaltung (nur Admin) - TUI zeigt Login-Screen beim Start; nach Erfolg → MainScreen - Passwort-Hashing mit bcrypt (python-jose für JWT)
This commit is contained in:
@@ -26,3 +26,11 @@ DATABASE_URL=sqlite:///./mcm.db
|
||||
# ── TUI Web-Modus (textual serve) ──────────────────────────
|
||||
# Starten: .venv/bin/python -m textual serve --host 0.0.0.0 --port $WEB_PORT tui_standalone.py
|
||||
WEB_PORT=8001
|
||||
|
||||
# ── Benutzer-Authentifizierung ──────────────────────────────────────────────
|
||||
# secret_key: mindestens 32 Zeichen, zufällig generieren (z.B. openssl rand -hex 32)
|
||||
SECRET_KEY=change-this-secret-key-min-32-chars!!
|
||||
TOKEN_EXPIRE_HOURS=24
|
||||
# Standard-Admin-Benutzer (wird beim ersten Start angelegt)
|
||||
DEFAULT_ADMIN_USER=admin
|
||||
DEFAULT_ADMIN_PASSWORD=admin
|
||||
|
||||
Reference in New Issue
Block a user