OAuth2 e Authorization Server
OAuth2 e Authorization Server, flow (authorization code, client credentials), resource server, scopes
1Che cos'è OAuth2?
Che cos'è OAuth2?
Risposta
OAuth2 è un protocollo di autorizzazione che consente a un'applicazione di terze parti di ottenere accesso limitato a un servizio HTTP per conto di un utente, senza esporre le credenziali dell'utente. Funziona tramite access token anziché password. OAuth2 è ampiamente utilizzato per l'autenticazione delegata (login tramite Google, GitHub, ecc.) e le API REST protette.
2Qual è il flow OAuth2 più sicuro per le applicazioni web?
Qual è il flow OAuth2 più sicuro per le applicazioni web?
Risposta
L'Authorization Code flow è il flow più sicuro perché l'access token non viene mai esposto al browser. L'applicazione backend scambia un codice di autorizzazione temporaneo con un access token tramite un canale sicuro (backend-to-backend). Con PKCE (Proof Key for Code Exchange), questo flow diventa ancora più sicuro contro gli attacchi di intercettazione.
3In quale caso utilizzare il Client Credentials flow?
In quale caso utilizzare il Client Credentials flow?
Risposta
Il Client Credentials flow è progettato per la comunicazione machine-to-machine (service-to-service) senza contesto utente. L'applicazione client si autentica direttamente con le proprie credenziali (client_id e client_secret) per ottenere un access token. Utilizzato per job batch, microservizi o API backend che agiscono per proprio conto.
Che cos'è PKCE (Proof Key for Code Exchange) in OAuth2?
Perché l'Implicit flow è deprecato in OAuth2?
+17 domande da colloquio
Altri argomenti di colloquio Spring Boot
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging con SLF4J e Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Gestione delle eccezioni
Bean Validation
Fondamenti di Spring Data JPA
Entità JPA e relazioni
Query JPA
Spring Data Repositories
Fondamenti di Spring Security
Spring Boot Actuator
Test unitari con JUnit e Mockito
Testing in Spring Boot
Profiles e Environment
RestTemplate e WebClient
Async e Scheduling
Caching con Spring
Spring WebFlux (Reactive)
Transazioni Spring
Autenticazione e autorizzazione avanzate
JWT e sicurezza stateless
Spring Boot e Docker
Microservices con Spring
Spring Cloud Config
Ottimizzazione delle prestazioni
GraalVM Native Images
Padroneggia Spring Boot per il tuo prossimo colloquio
Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.
Inizia gratis