In einem Monolithen genügte ein HTTP-Session-Cookie. Bei Microservices brauchen Sie zustandslose Authentifizierung — jeder Request trägt sein eigenes Token. OAuth 2.0 für Autorisierung, JWT für Tokens. Standards, die 80% der Sicherheitsanforderungen abdecken.
OAuth 2.0 Flows¶
Authorization Code: Für Webanwendungen mit Backend. Am sichersten. Implicit: Für SPAs ohne Backend. Token direkt in der URL (weniger sicher). Client Credentials: Für Service-to-Service-Kommunikation. Ohne Benutzer. Resource Owner Password: Direkte Credential-Eingabe. Nur für vertrauenswürdige Anwendungen.
JWT: JSON Web Token¶
// JWT structure: header.payload.signature
{
"sub": "user123",
"name": "Jan Novák",
"roles": ["ADMIN", "USER"],
"iat": 1457600000,
"exp": 1457603600
}
JWT ist self-contained — es enthält Informationen über den Benutzer, signiert vom Server. Ein Service kann es verifizieren, ohne den Auth-Server abzufragen. Zustandslos = skalierbar.
Implementierung mit Spring Security¶
Spring Security OAuth2 + spring-security-jwt. Der Auth-Server gibt Tokens aus, Resource-Server verifizieren sie. Gemeinsamer Signing Key oder asymmetrische Schlüssel (RSA).
Best Practices¶
- Kurze Access-Token-Gültigkeit (15–60 Min)
- Refresh Token zur Erneuerung ohne Re-Login
- HTTPS Pflicht — ein Token über HTTP ist wie ein Passwort im Klartext
- Keine sensiblen Daten im JWT-Payload speichern (ist nur base64-kodiert)
- Widerruf: Blacklist oder kurze Gültigkeit
OAuth 2.0 + JWT ist der Standard¶
Zustandslose Authentifizierung ist eine Notwendigkeit für Microservices. OAuth 2.0 mit JWT-Tokens ist der Industriestandard mit ausgezeichneter Unterstützung in allen Sprachen und Frameworks.
Brauchen Sie Hilfe bei der Implementierung?
Unsere Experten helfen Ihnen bei Design, Implementierung und Betrieb. Von der Architektur bis zur Produktion.
Kontaktieren Sie uns