Spring Boot

OAuth2 y Authorization Server

OAuth2 y Authorization Server, flows (authorization code, client credentials), resource server, scopes

20 preguntas de entrevista·
Senior
1

¿Qué es OAuth2?

Respuesta

OAuth2 es un protocolo de autorización que permite a una aplicación de terceros obtener acceso limitado a un servicio HTTP en nombre de un usuario, sin exponer las credenciales del usuario. Funciona mediante access tokens en lugar de contraseñas. OAuth2 se usa ampliamente para la autenticación delegada (inicio de sesión con Google, GitHub, etc.) y las API REST seguras.

2

¿Cuál es el flow OAuth2 más seguro para las aplicaciones web?

Respuesta

El Authorization Code flow es el flow más seguro porque el access token nunca se expone al navegador. La aplicación backend intercambia un código de autorización temporal por un access token a través de un canal seguro (backend-to-backend). Con PKCE (Proof Key for Code Exchange), este flow se vuelve aún más seguro contra los ataques de interceptación.

3

¿En qué caso se debe usar el Client Credentials flow?

Respuesta

El Client Credentials flow está diseñado para la comunicación machine-to-machine (service-to-service) sin contexto de usuario. La aplicación cliente se autentica directamente con sus propias credenciales (client_id y client_secret) para obtener un access token. Se usa para jobs batch, microservicios o API backends que actúan en su propio nombre.

4

¿Qué es PKCE (Proof Key for Code Exchange) en OAuth2?

5

¿Por qué el Implicit flow está obsoleto en OAuth2?

+17 preguntas de entrevista

Domina Spring Boot para tu próxima entrevista

Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.

Empieza gratis