feat(kiosk): Stufe 3 – ServiceWorker, WebCrypto Setup-Flow, Kiosk-UI, 15 Security-Tests
3A – Frontend Kiosk-Modus: - public/kiosk-sw.js (NEU, 187 Zeilen): ServiceWorker signiert alle /api/v1/kiosk/ Requests automatisch mit Ed25519. Keypair-Generierung intern (non-extractable), Speicherung in IndexedDB. BroadcastChannel-Leader-Election für Heartbeat. - KioskSetupPage.tsx (NEU, 307 Zeilen): Enrollment-Flow unter /kiosk/setup. Keypair-Generierung via WebCrypto im ServiceWorker, Public Key als PEM anzeigen. Browser-Kompatibilitäts-Check (Ed25519 ab Chrome 113+). - KioskStampPage.tsx (NEU, 348 Zeilen): Kiosk-UI unter /kiosk. Live-Uhr mit Server-Zeit-Offset, Heartbeat-Loop 30s, Online/Offline-Indikator. - App.tsx: /kiosk und /kiosk/setup Routen außerhalb ProtectedRoute 3B – Tests: - tests/test_kiosk_security.py (NEU, 387 Zeilen): 15/15 Tests grün Abgedeckt: gültige Signatur, falscher Key, Replay-Schutz, Timestamp-Drift, Future-Timestamp, pending/revoked Device, unbekanntes Gerät, fehlende Header, Lifecycle-Tests, heartbeat_status nach Heartbeat Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -467,3 +467,23 @@ Keine Commits in dieser Session.
|
||||
- frontend/src/pages/TimeTrackingPage.tsx | 521 +++++++++++++++++++--------
|
||||
|
||||
---
|
||||
## 2026-05-24 12:13 – 12:14 (1m)
|
||||
**Beschreibung:** Claude Code Session
|
||||
**Projekt:** timemaster
|
||||
|
||||
### Commits
|
||||
- 0f83d13 feat(kiosk): Stufe 2 – Ed25519-Auth, CLI-Tool, neue KioskDevicesPage
|
||||
|
||||
### Geänderte Dateien
|
||||
- DEVLOG.md | 58 ++++
|
||||
- backend/app/core/kiosk_security.py | 233 ++++++++++++++
|
||||
- backend/app/routers/kiosk.py | 119 +++++--
|
||||
- backend/app/schemas/kiosk.py | 70 ++++-
|
||||
- backend/app/services/kiosk_service.py | 138 ++++++---
|
||||
- backend/cli.py | 529 ++++++++++++++++++++++++++++++++
|
||||
- backend/requirements.txt | 2 +
|
||||
- frontend/DEVLOG.md | 16 +
|
||||
- frontend/src/components/Layout.tsx | 71 ++++-
|
||||
- frontend/src/pages/KioskDevicesPage.tsx | 412 +++++++++++++++++--------
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user