Baustein 1: Server-Auth-Fix (Kapitel 10)
/api/auth/login und /api/auth/register akzeptierten zuvor jeden beliebigen Nutzernamen/Passwort und stellten ein gueltiges 30-Tage-JWT aus - konkrete, ausnutzbare Luecke bei echtem Deployment. - PasswordHasher (PBKDF2, Salt pro Nutzer) + UserStore (LiteDB) statt des ungeprueften Stubs - /api/auth/register ersatzlos entfernt (kein offener Registrierungs-Endpunkt fuer ein Einzel-/Familien-Deployment) - Neue Nutzer per CLI (dotnet LehrerApp.Api.dll create-user <name>), dokumentiert in docker/README.md - Neues Testprojekt LehrerApp.Api.Tests (bisher als einziges Projekt ohne Tests) Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
# LehrerApp.Api – Deployment per Docker
|
||||
|
||||
## Starten
|
||||
|
||||
```bash
|
||||
cd docker
|
||||
JWT_SECRET=<zufälliger-langer-string> docker compose up -d
|
||||
```
|
||||
|
||||
`./data` (relativ zu `docker/`) wird als Volume gemountet und enthält alle Server-Daten
|
||||
(Ereignis-Logs, Snapshots, Nutzer) – bei Neustarts/Updates bleibt es erhalten.
|
||||
|
||||
## Nutzer anlegen
|
||||
|
||||
Es gibt keine offene Registrierung (`/api/auth/register`). Neue Nutzer werden per CLI im
|
||||
laufenden Container angelegt:
|
||||
|
||||
```bash
|
||||
docker compose exec api dotnet LehrerApp.Api.dll create-user <benutzername>
|
||||
```
|
||||
|
||||
Fragt interaktiv nach einem Passwort (mind. 12 Zeichen). Alternativ nicht-interaktiv, z. B. aus
|
||||
einem Skript:
|
||||
|
||||
```bash
|
||||
docker compose exec api dotnet LehrerApp.Api.dll create-user <benutzername> --password "<passwort>"
|
||||
```
|
||||
|
||||
Der Befehl beendet sich danach sofort wieder, ohne den API-Dienst zu starten – für den
|
||||
eigentlichen Serverbetrieb läuft `docker compose up` unverändert weiter.
|
||||
Reference in New Issue
Block a user