Spring Boot

OAuth2 & Authorization Server

OAuth2 und Authorization Server, Flows (Authorization Code, Client Credentials), Resource Server, Scopes

20 Interview-Fragen·
Senior
1

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.

2

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.

3

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.

4

Was ist PKCE (Proof Key for Code Exchange) in OAuth2?

5

Warum ist der Implicit Flow in OAuth2 veraltet?

+17 Interview-Fragen

Meistere Spring Boot für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten