Auth-Service
(Raum: m003)
Beschreibung
Das Projekt besteht aus zwei Hauptkomponenten, einem SvelteKit-basierten Frontend und einem Rust-basierten Authentifizierungsdienst.
Das Frontend stellt die Benutzeroberfläche und Benutzerverwaltung bereit und übernimmt die Weiterleitung an den Authentifizierungsdienst für die Anmeldung. Es enthält eine Login-Komponente, die den OAuth2-Prozess startet, indem sie den Benutzer zur Discord-Autorisierungsseite weiterleitet. Nach erfolgreicher Anmeldung verarbeitet das Frontend den Callback, ruft den Sitzungsstatus ab und zeigt Benutzerinformationen wie den Benutzernamen und den Avatar an.
Der Authentifizierungsdienst, der in Rust implementiert ist, verwaltet den gesamten OAuth2-Ablauf mit Discord. Er erzeugt eine PKCE-Challenge und CSRF-Tokens und speichert diese vorübergehend in Redis, um die Integrität der Sitzung zu gewährleisten. Wenn Discord den Callback zurückgibt, tauscht der Dienst den Autorisierungscode gegen Zugriffs- und Aktualisierungstoken aus. Mit dem Zugriffstoken ruft er das Discord-Benutzerprofil ab und speichert die Benutzerdaten in einer PostgreSQL-Datenbank, wobei jeder Datensatz einem Discord-Benutzer entspricht. Aktualisierungstoken werden vor der Speicherung verschlüsselt, um die Sicherheit zu erhöhen. Der Dienst lädt Konfigurationswerte wie Discord-Clientdaten, Datenbank- und Redis-URLs sowie Verschlüsselungsschlüssel aus Umgebungsvariablen. Er verwaltet einen gemeinsamen Zustand, der Datenbankverbindungen, Redis-Clients und Konfigurationen über verschiedene Routen hinweg verfügbar macht.
Das Frontend konzentriert sich auf die Benutzeroberfläche und Sitzungssteuerung, während das Backend die sichere Authentifizierung, Tokenverwaltung und Datenpersistenz übernimmt.
Team
Joel Damm, Joshua Jung
Betreuer*Innen
Fridtjof Toenniessen
Auth-Service
Das Projekt besteht aus einem SvelteKit-Frontend zur Nutzerverwaltung und einem Rust-basierten Authentifizierungsdienst, der ...
Becher Dosier- und Vereinzelungsanlage
Unsere Studierenden haben eine vollautomatische Maschine entwickelt, die 2-cl-Becher vereinzelt, präzise positioniert und exakt befüllt. ...
RewardRun
RewardRun ist eine interaktive Webanwendung, die es Event-Besuchern ermöglicht QR-Codes zu scannen, um Belohnungen freizuschalten und ihre ...