SE-TINF22B2 / G2-Schoolify

A tool to support the school systems
3 stars 0 forks source link

[Kontoverwaltung] Authentication Login #91

Closed Kronprinz03 closed 3 months ago

Kronprinz03 commented 8 months ago

Feature-Anfrage

Der Nutzer soll sich über unsere Webseite einloggen können mit (Schul-) E-Mail und Passwort dieses soll dann weiter an das Backend geben werden.

Eigenschaften

Anwendungsszenarien

Ein Schüler möchte sein Hausaufgaben auf der Schulwebsite ansehen und benötigt dazu Zugang zu seinem persönlichen Account. Er gibt seine Schul-E-Mail und Passwort auf der Login Seite ein und erwartet Zugang zu seinem Dashboard.

Ein Lehrer möchte die Fortschritte seiner Schüler einsehen. Er muss sich ebenfalls mit seiner Schul-E-Mail und Passwort anmelden, um Zugriff auf die entsprechenden Informationen zu erhalten.

Ein Schüler hat sein Passwort vergessen und benötigt Hilfe beim Zurücksetzen. Die Seite sollte ihm visuelle Hinweise geben und die Anforderung an das Backend senden, um das Passwort zu ändern.

Mögliche Implementierungen

  1. Erstellen der Login-Komponente: Die Login-Komponente sollte Eingabefelder für die E-Mail und das Passwort sowie einen "Anmelden" Button enthalten. Der Nutzer sollte bei falschen Angaben eine visuelle Rückmeldung erhalten.

  2. Authentifizierung der Nutzerdaten: Nachdem der Nutzer auf den "Anmelden" Button geklickt hat, werden die Eingabedaten an das Backend gesendet. Das Backend verwendet die Passport.js Middleware, um zu überprüfen, ob E-Mail und Passwort korrekt sind.

  3. Behandlung von Fehlern: Falls der Login fehlschlägt (z.B. wegen falscher E-Mail oder Passwort), sollte das Frontend eine entsprechende Fehlermeldung anzeigen.

  4. Zugang nach dem Anmelden: Wenn der Login erfolgreich war, sollte der Nutzer zu seinem persönlichen Dashboard weitergeleitet werden.

Hinweis: Für die Funktion zur Passwortwiederherstellung könnte ein zusätzlicher Endpunkt im Backend hinzugefügt werden, der die Anfrage zur Wiederherstellung behandelt und eine automatisierte E-Mail zum Zurücksetzen des Passworts sendet.

Zusätzliche Informationen

Schmarvinius commented 8 months ago

Phase 0 bzw 1, da die Seite erstellt werden kann aber die richtigen Daten ja aus dem backend gezogen werden müssen