Files
harheimertc/scripts/README-set-admin-password.md

57 lines
1.7 KiB
Markdown

# Admin-Passwort setzen
Dieses Script ermöglicht es, das Passwort für den Admin-User (`admin@harheimertc.de`) zu setzen oder zu ändern.
## Verwendung
### Mit Passwort als Argument
```bash
node scripts/set-admin-password.js "mein-neues-passwort"
```
### Interaktiv (Passwort wird abgefragt)
```bash
node scripts/set-admin-password.js
```
Das Script fragt dann nach dem neuen Passwort.
## Funktionen
- **Findet oder erstellt den Admin-User**: Falls der Admin-User nicht existiert, wird er automatisch erstellt
- **Passwort-Hashing**: Das Passwort wird mit bcrypt gehasht (10 Runden)
- **Verschlüsselte Speicherung**: Die Benutzerdaten werden verschlüsselt gespeichert
- **Validierung**: Prüft, dass das Passwort mindestens 8 Zeichen lang ist
## Voraussetzungen
- `ENCRYPTION_KEY` muss in der `.env` Datei gesetzt sein (für verschlüsselte Speicherung)
- Die Datei `server/data/users.json` muss existieren oder wird automatisch erstellt
## Beispiel
```bash
# Passwort direkt setzen
node scripts/set-admin-password.js "MeinSicheresPasswort123!"
# Interaktiv
node scripts/set-admin-password.js
# Eingabeaufforderung: Neues Passwort für admin@harheimertc.de:
```
## Sicherheit
- Das Passwort wird niemals im Klartext gespeichert
- Es wird mit bcrypt gehasht (10 Runden)
- Die Benutzerdaten werden verschlüsselt gespeichert
- Das Passwort wird nicht in der Kommandozeilen-Historie gespeichert (bei interaktiver Eingabe)
## Fehlerbehandlung
Falls die Entschlüsselung der Benutzerdaten fehlschlägt:
- Prüfe, ob `ENCRYPTION_KEY` in der `.env` Datei korrekt gesetzt ist
- Stelle sicher, dass der Schlüssel mit dem übereinstimmt, der zum Verschlüsseln verwendet wurde