OAuth2 & Authorization Server
OAuth2 und Authorization Server, Flows (Authorization Code, Client Credentials), Resource Server, Scopes
1Was ist OAuth2?
Was ist OAuth2?
Antwort
OAuth2 ist ein Autorisierungsprotokoll, das einer Drittanbieteranwendung ermöglicht, im Namen eines Benutzers begrenzten Zugriff auf einen HTTP-Dienst zu erhalten, ohne die Credentials des Benutzers offenzulegen. Es funktioniert über Access Tokens statt über Passwörter. OAuth2 wird häufig für delegierte Authentifizierung (Login via Google, GitHub usw.) und gesicherte REST-APIs verwendet.
2Welcher OAuth2-Flow ist für Webanwendungen am sichersten?
Welcher OAuth2-Flow ist für Webanwendungen am sichersten?
Antwort
Der Authorization Code Flow ist der sicherste, weil der Access Token niemals dem Browser offengelegt wird. Die Backend-Anwendung tauscht einen temporären Authorization Code über einen sicheren Kanal (Backend-to-Backend) gegen einen Access Token. Mit PKCE (Proof Key for Code Exchange) wird dieser Flow gegen Interception-Angriffe noch sicherer.
3Wann sollte der Client Credentials Flow verwendet werden?
Wann sollte der Client Credentials Flow verwendet werden?
Antwort
Der Client Credentials Flow ist für Machine-to-Machine-Kommunikation (Service-to-Service) ohne Benutzerkontext konzipiert. Die Client-Anwendung authentifiziert sich direkt mit ihren eigenen Credentials (client_id und client_secret), um einen Access Token zu erhalten. Wird für Batch-Jobs, Microservices oder Backend-APIs verwendet, die in eigenem Namen handeln.
Was ist PKCE (Proof Key for Code Exchange) in OAuth2?
Warum ist der Implicit Flow in OAuth2 veraltet?
+17 Interview-Fragen
Weitere Spring Boot-Interviewthemen
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging mit SLF4J und Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Ausnahmebehandlung
Bean Validation
Spring Data JPA Grundlagen
JPA-Entitäten und Beziehungen
JPA-Abfragen
Spring Data Repositories
Spring Security Grundlagen
Spring Boot Actuator
Unit-Tests mit JUnit & Mockito
Spring Boot Testing
Profiles und Environment
RestTemplate und WebClient
Async & Scheduling
Caching mit Spring
Spring WebFlux (Reactive)
Spring-Transaktionen
Erweiterte Authentifizierung und Autorisierung
JWT & Stateless-Sicherheit
Spring Boot und Docker
Microservices mit Spring
Spring Cloud Config
Performance-Optimierung
GraalVM Native Images
Meistere Spring Boot für dein nächstes Interview
Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.
Kostenlos starten