Update documentation for v0.3.0 (admin features)
- CHANGELOG.md: Add v0.3.0 with admin dashboard, email verification, user states, and all new features - install/README.md: Add SMTP configuration variables - README.md: Update version to 0.3.0 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
99d7ed1e82
commit
1b44bb3d10
|
|
@ -40,5 +40,5 @@ Willkommen zur Dokumentation des Container Spawner Projekts.
|
|||
|
||||
---
|
||||
|
||||
**Aktuelle Version**: 0.1.0
|
||||
**Aktuelle Version**: 0.3.0
|
||||
**Letzte Aktualisierung**: Januar 2026
|
||||
|
|
|
|||
|
|
@ -169,6 +169,20 @@ docker-compose up -d
|
|||
| `JWT_ACCESS_TOKEN_EXPIRES` | `3600` | JWT Token Gueltigkeitsdauer (Sekunden) |
|
||||
| `CONTAINER_IDLE_TIMEOUT` | `3600` | Timeout in Sekunden (noch nicht implementiert) |
|
||||
|
||||
### Email/SMTP-Variablen (fuer Verifizierung)
|
||||
|
||||
| Variable | Standard | Beschreibung |
|
||||
|----------|----------|--------------|
|
||||
| `SMTP_HOST` | `localhost` | SMTP-Server Hostname |
|
||||
| `SMTP_PORT` | `587` | SMTP-Server Port |
|
||||
| `SMTP_USER` | `` | SMTP-Benutzername |
|
||||
| `SMTP_PASSWORD` | `` | SMTP-Passwort |
|
||||
| `SMTP_FROM` | `noreply@localhost` | Absender-Email-Adresse |
|
||||
| `SMTP_USE_TLS` | `true` | TLS verwenden (true/false) |
|
||||
| `FRONTEND_URL` | `http://localhost:3000` | Frontend-URL fuer Email-Links |
|
||||
|
||||
**Hinweis**: Die Email-Konfiguration wird fuer die Email-Verifizierung bei der Registrierung und fuer Passwort-Reset-Emails benoetigt.
|
||||
|
||||
### User-Templates
|
||||
|
||||
Es stehen zwei Templates fuer User-Container zur Verfuegung:
|
||||
|
|
|
|||
|
|
@ -19,6 +19,66 @@ Das Format basiert auf [Keep a Changelog](https://keepachangelog.com/de/1.0.0/).
|
|||
|
||||
---
|
||||
|
||||
## [0.3.0] - 2026-01-31
|
||||
|
||||
### Hinzugefuegt
|
||||
- **Admin-Dashboard**: Vollstaendige Benutzerverwaltung fuer Admins
|
||||
- Benutzer sperren/entsperren
|
||||
- Passwoerter zuruecksetzen (sendet Email)
|
||||
- Benutzer-Container loeschen
|
||||
- Benutzer loeschen
|
||||
- Verifizierungs-Emails erneut senden
|
||||
- **Email-Verifizierung**: Neue Benutzer muessen Email bestaetigen
|
||||
- Verifizierungs-Email bei Registrierung
|
||||
- OneTimeToken-basierte Verifizierung
|
||||
- verify-success und verify-error Seiten
|
||||
- **Erster User wird Admin**: Der erste registrierte Benutzer erhaelt Admin-Rechte
|
||||
- **Benutzer-States**: registered → verified → active
|
||||
- **Aktivitaetstracking**: `last_used` Feld fuer letzten Container-Zugriff
|
||||
- **Farbcodierte Benutzerliste** im Admin-Dashboard:
|
||||
- Gruen: Aktiv, kuerzlich genutzt
|
||||
- Gelb: Warnung (unverifiziert/inaktiv)
|
||||
- Rot: Kritisch (lange unverifiziert/sehr lange inaktiv)
|
||||
- **SMTP-Konfiguration**: Email-Versand fuer Verifizierung und Passwort-Reset
|
||||
- **Admin-API Endpoints**:
|
||||
- `GET /api/admin/users` - Alle Benutzer auflisten
|
||||
- `POST /api/admin/users/{id}/block` - Benutzer sperren
|
||||
- `POST /api/admin/users/{id}/unblock` - Benutzer entsperren
|
||||
- `POST /api/admin/users/{id}/reset-password` - Passwort zuruecksetzen
|
||||
- `POST /api/admin/users/{id}/resend-verification` - Verifizierungs-Email senden
|
||||
- `DELETE /api/admin/users/{id}/container` - Container loeschen
|
||||
- `DELETE /api/admin/users/{id}` - Benutzer loeschen
|
||||
- `POST /api/admin/users/{id}/takeover` - Container-Zugriff (Dummy, Phase 2)
|
||||
- **Neue Backend-Dateien**:
|
||||
- `admin_api.py` - Admin-Blueprint mit Endpoints
|
||||
- `decorators.py` - @admin_required und @verified_required Decorator
|
||||
- `email_service.py` - Email-Versand-Service
|
||||
- **Neue Frontend-Seiten**:
|
||||
- `/admin` - Admin-Dashboard
|
||||
- `/verify-success` - Email-Verifizierung erfolgreich
|
||||
- `/verify-error` - Email-Verifizierung fehlgeschlagen
|
||||
|
||||
### Geaendert
|
||||
- `models.py`: Neue Felder (is_admin, is_blocked, state, last_used, verification_token), UserState Enum, AdminTakeoverSession Model
|
||||
- `config.py`: SMTP-Konfiguration, FRONTEND_URL
|
||||
- `api.py`: Signup sendet Verifizierungs-Email (kein Auto-Login mehr), Login prueft Blockade und Verifizierung
|
||||
- `app.py`: Admin-Blueprint registriert
|
||||
- `.env.example`: SMTP-Variablen hinzugefuegt
|
||||
- Frontend `api.ts`: Admin-API-Funktionen
|
||||
- Frontend `use-auth.tsx`: User-Interface mit is_admin und state
|
||||
- Frontend `signup/page.tsx`: Zeigt Verifizierungs-Hinweise nach Registrierung
|
||||
- Frontend `login/page.tsx`: Option zum erneuten Senden der Verifizierungs-Email
|
||||
- Frontend `dashboard/page.tsx`: Admin-Link fuer Admins
|
||||
|
||||
### Sicherheit
|
||||
- Blockierte Benutzer koennen sich nicht mehr anmelden
|
||||
- Unverifizierte Benutzer koennen sich nicht anmelden
|
||||
- Admins koennen sich nicht selbst sperren oder loeschen
|
||||
- Admins koennen andere Admins nicht loeschen
|
||||
- Verification-Token ist einmalig verwendbar (OneTimeToken)
|
||||
|
||||
---
|
||||
|
||||
## [0.2.0] - 2026-01-31
|
||||
|
||||
### Hinzugefuegt
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user