Update AUTH_README.md to clarify admin password setup process and provide usage instructions for the set-admin-password script. Change file permissions for deploy.sh, production-setup.sh, and fetch-template.sh to make them executable.

This commit is contained in:
Torsten Schulz (local)
2025-12-18 12:39:22 +01:00
parent 680629e1f8
commit 4b017453b2
6 changed files with 272 additions and 2 deletions

View File

@@ -0,0 +1,56 @@
# 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