Go

Seguridad y autenticación

JWT, OAuth2, gestión de sesiones, RBAC, crypto/rand vs math/rand, configuración TLS, codificación segura, mejores prácticas de seguridad

24 preguntas de entrevista·
Senior
1

¿Cuál es la principal diferencia entre los tokens JWT y las sesiones de servidor tradicionales?

Respuesta

Los tokens JWT son stateless (sin estado del lado del servidor) y contienen toda la información necesaria codificada dentro del propio token. A diferencia de las sesiones tradicionales que almacenan los datos en memoria o en base de datos del lado del servidor con solo un session ID del lado del cliente, JWT traslada la responsabilidad de almacenamiento al cliente. Esto facilita el escalado horizontal, ya que no se requiere ningún estado compartido entre los servidores.

2

¿Cuáles son las tres partes de un token JWT separadas por puntos?

Respuesta

Un JWT se compone de tres partes codificadas en Base64URL y separadas por puntos: Header (algoritmo y tipo), Payload (claims/datos) y Signature (verificación de integridad). La estructura es header.payload.signature. El header indica el algoritmo de firma (HS256, RS256), el payload contiene los claims (iss, sub, exp) y la signature garantiza que el token no ha sido alterado.

3

¿Qué claim estándar de JWT define el timestamp de expiración del token?

Respuesta

El claim 'exp' (expiration time) define el timestamp Unix después del cual el token ya no debe aceptarse. Los claims estándar también incluyen 'iss' (issuer), 'sub' (subject), 'aud' (audience), 'iat' (issued at) y 'nbf' (not before). Validar el claim exp es crucial para limitar la duración de validez de los tokens y reducir el impacto de un token robado.

4

¿Cuál es la principal diferencia entre HS256 y RS256 para firmar JWT?

5

¿Cómo revocar un JWT antes de su expiración natural?

+21 preguntas de entrevista

Domina Go para tu próxima entrevista

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

Empieza gratis