Spring Boot

OAuth2 e Authorization Server

OAuth2 e Authorization Server, flow (authorization code, client credentials), resource server, scopes

20 domande da colloquio·
Senior
1

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.

2

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.

3

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.

4

Che cos'è PKCE (Proof Key for Code Exchange) in OAuth2?

5

Perché l'Implicit flow è deprecato in OAuth2?

+17 domande da colloquio

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