kundencenter/apps/api
Kundencenter 881f19ed05 fix(cli): Passwort nie mehr als Klartext-Argument, neuer reset-password-Befehl
Vom Nightbot-Nachtriage-Durchlauf gefunden (#100) und vom Nutzer bestätigt:
create-superadmin --password=… landete im Klartext in argv – für jeden
lokalen Nutzer über `ps aux` und in der Shell-History sichtbar.

- create-superadmin fragt das Passwort jetzt interaktiv ohne Echo ab (wie
  `passwd`), zweimal zur Bestätigung. Für Skripte/Automatisierung optional
  über die Umgebungsvariable KC_CLI_PASSWORD (landet nicht in argv/ps,
  nur im Prozess-Environ des ausführenden Nutzers/root).
- Neuer Befehl reset-password --email=… : bisher gab es KEINEN Weg, das
  Passwort eines bestehenden Nutzers (insb. eines ausgesperrten
  Superadmins) zurückzusetzen außer über die Selbstbedienung per E-Mail-
  Link (die bei fehlendem Postfachzugriff oder noch nicht eingerichtetem
  SMTP nicht hilft) oder direkte DB-Manipulation. Funktioniert für jeden
  Nutzer (Kunde oder Personal), setzt failed_logins/locked_until zurück,
  protokolliert im Audit-Log.

Beide Befehle scheitern jetzt sauber (Fehlermeldung + Exit-Code, kein
Stack-Trace) statt mit --password=<12+ Zeichen> zu arbeiten.

Gegen die Testdatenbank durchexerziert: Anlegen, doppelte E-Mail, zu
kurzes Passwort, Reset, unbekannte E-Mail, fehlendes TTY ohne
KC_CLI_PASSWORD – alle Pfade verhalten sich wie erwartet.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-29 11:32:26 +02:00
..
src fix(cli): Passwort nie mehr als Klartext-Argument, neuer reset-password-Befehl 2026-09-29 11:32:26 +02:00
test Rechnungen: Rabatt je Position 2026-09-28 11:01:19 +02:00
package.json feat: IMAP-Posteingang fürs Ticketsystem (Mail-Antworten -> Tickets) 2026-09-28 17:35:58 +02:00
tsconfig.json Stand vor Einführung des Nacht-Agenten 2026-09-27 00:51:32 +02:00
vitest.config.ts Ticket-Anhänge: Bilder/PDF hochladen und anzeigen (geprüft anhand der Dateikennung) 2026-09-27 08:53:27 +02:00