docker-fobi/docker-compose/logintrainer/README.md
Jesko Anschütz ea52d39e6c logintrainer
2025-11-04 21:35:45 +01:00

2.5 KiB
Raw Blame History

Login Trainer

Trainingsplattform zum Üben sicherer Logins, Messung von Tippgeschwindigkeit und Monitoring durch Lehrkräfte.

Routenübersicht

Öffentliche Seiten

  • / Startseite mit CTA zum Login/Registrieren.
  • /login Login-Formular mit Tippgeschwindigkeits-Tracking.
  • /login/uppercase Hinweisseite, falls Benutzername Großbuchstaben enthält.
  • /login/success Auswertung nach erfolgreichem Login.
  • /register Registrierung neuer Konten.

Teacher-Bereich (hinter AuthGate)

  • /teacher Übersichts-Dashboard mit Kacheln zu allen Modulen. (CSS-Problem, ist noch eine List)
  • /teacher/logs Tabellenansicht sämtlicher Login-Versuche.
  • /teacher/stats Aggregierte Statistiken.
  • /leaderboard Übersicht der Klassen-Highscores.
  • /teacher/violaters Liste der Accounts mit zu kurzen Passwörtern (inkl. Sort/Filter).
  • /teacher/dbdump Datenbank-Dump als Download.

API-Endpunkte

  • /api/login Verarbeitung von Login-Versuchen.
  • /api/register Anlage neuer Nutzer.
  • /api/teacher/auth Prüfung des Teacher-Passworts für das AuthGate.
  • /api/attempts/purge-failed Löschen fehlgeschlagener Versuche (geschützt via ADMIN_PURGE_TOKEN).
  • /api/leaderboard/top-performers - Top 3 jeder Klasse als JSON... falls mal irgendwo diese Information erscheinen soll :)

Umgebungsvariablen

Variable Beschreibung
AUTH_MODE Authentifizierungsmodus (local oder ad).
NEXT_PUBLIC_AUTH_MODE Frontend-Flag zum Anzeigen des Modus.
DATABASE_URL Pfad zur SQLite-DB.
PASSWORD_POLICY_MIN_LENGTH Mindestlänge für Passwörter (wird für Statistiken & Policy-Checks verwendet).
NEXT_PUBLIC_SCHOOLNAME Anzeige des Schulnamens auf der Login-Seite.
DOPING_THRESHOLD_MS_PER_CHAR Grenzwert für „Doping“-Hinweise pro Zeichen.
NEXT_PUBLIC_MIN_PASSWORD_ALERT_MESSAGE Text für Hinweis zu kurzen Passwörtern.
LDAP_URL / LDAP_BASE_DN / LDAP_BIND_DN / LDAP_BIND_PW / LDAP_DOMAIN_PREFIX LDAP/AD-Konfiguration (nur bei AUTH_MODE=ad).
TEACHER_LOGS_PASSWORD Passwort für das Teacher-AuthGate.
ADMIN_PURGE_TOKEN Schutz-Token für Purge-Endpunkt.
RUN_MIGRATIONS Steuert automatisches Ausführen von Prisma-Migrationen im Docker-Setup.

Weitere Beispielwerte siehe .env.example. Nach Änderungen an Prisma-Schema immer npx prisma migrate deploy und npx prisma generate ausführen, damit der Client aktuell ist.