Login-/Session-/Passkey-Logik vollständig entfernen

Die App läuft künftig nur noch lokal, daher ist Anmeldung nicht mehr
nötig: Proxy-Middleware, Login-Seite, Session-Handling, Passkey/WebAuthn
(inkl. DB-Tabelle ausgaben_passkeys), Logout-Button und der Passwort-Hash-
Generator (scripts/generate-password.js) entfallen. Der Einstellungen-Tab
enthielt ausschließlich Passkey-Verwaltung und wurde daher ebenfalls
entfernt. Nicht mehr benötigte Abhängigkeiten (@simplewebauthn/*,
bcryptjs, jose) sowie die zugehörigen Env-Variablen (AUTH_USERS,
AUTH_SECRET, AUSGABEN_RP_*) wurden aus package.json, Docker-Compose-
Dateien und Dokumentation gestrichen. AUTH_README.md komplett entfernt.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-21 13:58:46 +02:00
parent d3718da1f8
commit bacd11f722
25 changed files with 22 additions and 1816 deletions
-21
View File
@@ -23,27 +23,6 @@ Dies ist die modernisierte Version des alten PHP/jQuery-basierten Ausgaben-Progr
- Bearbeiten-Funktion: Klick auf Eintrag lädt ihn ins Formular
- Filterung nach aktivem TYP (Haushalt/Privat)
- **Anmeldung per Passkey** (WebAuthn) alternativ zu Benutzername/Passwort
## Anmeldung & Passkeys
Benutzer und bcrypt-Passworthashes stehen in `AUTH_USERS`
(Format `name:hash,name2:hash2`), die Session ist ein JWT-Cookie (`AUTH_SECRET`).
Zusätzlich kann sich jeder Benutzer per **Passkey** anmelden (Fingerabdruck,
Gesichtserkennung oder Geräte-PIN). Das Passwort bleibt als Alternative bestehen.
- **Registrieren**: nach der Anmeldung im Tab *Einstellungen* → „Passkey hinzufügen".
Der Passkey wird dem angemeldeten Benutzer zugeordnet; mehrere Geräte sind möglich.
- **Anmelden**: auf der Login-Seite „Mit Passkey anmelden".
- **Speicherung**: Tabelle `ausgaben_passkeys` (siehe `create_table.sql`); sie wird beim
ersten Zugriff automatisch angelegt, falls der DB-Benutzer CREATE-Rechte hat. Der
app-spezifische Name ist nötig, weil sich mehrere Apps auf dem Server die Datenbank
`RXF` teilen und werte-next dort die Tabelle `passkeys` belegt.
- **Konfiguration**: `RP_ID` (nur der Host), `RP_ORIGIN` (volle URL), `RP_NAME`.
Lokal sind `localhost` / `http://localhost:3005` voreingestellt.
- **Wichtig**: WebAuthn funktioniert nur über **HTTPS** oder auf `localhost`.
## Technologie-Stack
- **Frontend**: Next.js 16, React 19, TypeScript