Loginsystem in React und Vite

Ich habe ein Login System mit React und Vite entwickelt, das Access Token und Refresh Token nach erfolgreicher Authentifizierung sicher verarbeitet. Beide Tokens werden serverseitig gehasht gespeichert, bevor sie in einer MySQL Datenbank abgelegt werden, sodass im Fall eines Datenbankzugriffs keine gültigen Token im Klartext vorliegen. Zur Hashing Funktion verwende ich einen starken, adaptiven Hash Algorithmus wie bcrypt oder Argon2 und speichere zusätzlich Metadaten wie Erstellungszeitpunkt und Ablaufdatum, um Token ungültig zu machen und zu verwalten.
Der Login Ablauf besteht aus einem Auth Request vom Frontend zum Backend, der bei Erfolg die Token entgegennimmt. Die Tokens werden nicht dauerhaft im lokalen Speicher des Browsers abgelegt. Stattdessen bleiben sie in einer kurzlebigen In Memory Struktur und werden bei Bedarf angezeigt. Im Frontend gibt es Buttons, die nach erfolgreichem Login das jeweilige Token sichtbar machen. Diese Anzeige erfolgt nur auf ausdrückliche Nutzeraktion und die Darstellung ist temporär, damit Tokens nicht versehentlich persistiert oder kopiert werden. Für den produktiven Betrieb ist das Backend so implementiert, dass Prüfungen gegen die gehashten Werte stattfinden und bei Verwendung eines Refresh Tokens dieser geprüft und gegebenenfalls rotiert wird, um Replay Angriffe zu minimieren.
Zur Sicherheit gehören zusätzliche Maßnahmen wie kurze Ablaufzeiten für Access Token, die Verwendung von Refresh Token mit eingeschränktem Gültigkeitsbereich, Ratenbegrenzung für Login und Refresh Endpunkte sowie Logging und Monitoring bei verdächtigen Aktivitäten. Empfehlungen für den Einsatz in realen Projekten sind die Abgabe der Tokens in HttpOnly Cookies oder die Verwendung sicherer Speicherstrategien auf Clientseite, um XSS Risiken zu reduzieren. Im Repository befinden sich Beispielendpunkte, die Datenbankstruktur für die Token Tabelle sowie Codebeispiele für das Hashing, die Verifikation und die sichere Darstellung der Tokens im UI.
Der Code für die Applikation findet sich in folgendem GitHub Repository:
https://github.com/DieSchoeneWolke/ViteReact-Login