OAuth2 i Authorization Server
OAuth2 i Authorization Server, flow (authorization code, client credentials), resource server, scopes
1Czym jest OAuth2?
Czym jest OAuth2?
Odpowiedź
OAuth2 to protokół autoryzacji, który pozwala aplikacji zewnętrznej uzyskać ograniczony dostęp do usługi HTTP w imieniu użytkownika, bez ujawniania jego credentials. Działa za pomocą access tokenów zamiast haseł. OAuth2 jest szeroko stosowany do delegowanego uwierzytelniania (logowanie przez Google, GitHub itp.) oraz zabezpieczonych API REST.
2Który flow OAuth2 jest najbezpieczniejszy dla aplikacji webowych?
Który flow OAuth2 jest najbezpieczniejszy dla aplikacji webowych?
Odpowiedź
Authorization Code flow jest najbezpieczniejszym flow, ponieważ access token nigdy nie jest ujawniany przeglądarce. Aplikacja backendowa wymienia tymczasowy authorization code na access token przez bezpieczny kanał (backend-to-backend). Z PKCE (Proof Key for Code Exchange) ten flow staje się jeszcze bezpieczniejszy wobec ataków przechwytujących.
3W jakim przypadku należy używać Client Credentials flow?
W jakim przypadku należy używać Client Credentials flow?
Odpowiedź
Client Credentials flow jest przeznaczony do komunikacji machine-to-machine (service-to-service) bez kontekstu użytkownika. Aplikacja kliencka uwierzytelnia się bezpośrednio za pomocą własnych credentials (client_id i client_secret), aby uzyskać access token. Używany do zadań batch, mikroserwisów lub backendowych API działających we własnym imieniu.
Czym jest PKCE (Proof Key for Code Exchange) w OAuth2?
Dlaczego Implicit flow jest przestarzały w OAuth2?
+17 pytań z rozmów
Inne tematy rekrutacyjne Spring Boot
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logowanie z SLF4J i Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Obsługa wyjątków
Bean Validation
Podstawy Spring Data JPA
Encje JPA i relacje
Zapytania JPA
Spring Data Repositories
Podstawy Spring Security
Spring Boot Actuator
Testy jednostkowe z JUnit i Mockito
Testowanie Spring Boot
Profiles i Environment
RestTemplate i WebClient
Async i Scheduling
Caching ze Spring
Spring WebFlux (Reactive)
Transakcje Spring
Zaawansowane uwierzytelnianie i autoryzacja
JWT i bezpieczeństwo stateless
Spring Boot i Docker
Microservices ze Spring
Spring Cloud Config
Optymalizacja wydajności
GraalVM Native Images
Opanuj Spring Boot na następną rozmowę
Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.
Zacznij za darmo