
Ein moderner Authentication Microservice auf Basis von Spring Boot, der sichere Benutzerauthentifizierung für verteilte Systeme bereitstellt.
JWT-Authentifizierung mit RS256 Der Service nutzt JSON Web Tokens mit asymmetrischer RS256-Signierung. Access Tokens werden mit einem privaten Schlüssel signiert und können von anderen Services über den öffentlichen Schlüssel verifiziert werden. Dies ermöglicht eine dezentrale Token-Validierung ohne direkte Kommunikation mit dem Auth Service.
JWKS-Endpoint Ein JSON Web Key Set Endpoint stellt die öffentlichen Schlüssel im standardisierten Format bereit. Andere Microservices können diese Schlüssel automatisch abrufen und cachen, um eingehende Tokens zu validieren.
Refresh Token Management Neben kurzlebigen Access Tokens verwaltet der Service langlebige Refresh Tokens. Diese ermöglichen es Clients, neue Access Tokens zu erhalten, ohne dass der Benutzer sich erneut anmelden muss. Refresh Tokens werden sicher in der Datenbank gespeichert und können bei Bedarf widerrufen werden.
Google OAuth2 Integration Benutzer können sich alternativ über ihr Google-Konto anmelden. Der Service übernimmt den kompletten OAuth2-Flow und erstellt bei Bedarf automatisch ein lokales Benutzerkonto.
Email-Verifizierung Nach der Registrierung erhalten Benutzer eine Email mit einem Verifizierungslink. Erst nach erfolgreicher Verifizierung wird das Konto vollständig aktiviert.
Passwort-Reset Benutzer können über ihre Email-Adresse einen Passwort-Reset anfordern. Der Service generiert einen zeitlich begrenzten Token und sendet einen Reset-Link per Email.
Stateless Architektur Der Service speichert keine Session-Daten im Arbeitsspeicher. Alle notwendigen Informationen sind im JWT enthalten oder werden aus der Datenbank geladen. Dies ermöglicht horizontale Skalierung durch einfaches Hinzufügen weiterer Service-Instanzen.