Por defecto, sesiones en el servidor dentro de una cookie httpOnly, Secure y SameSite, porque puedes revocar al instante y el cliente nunca guarda nada sensible. Los JWT se ganan su sitio cuando los servicios no pueden compartir un almacén de sesiones y necesitas verificación sin estado. Si los usas, mantén los tokens de acceso de vida corta, acompáñalos de un refresh token rotatorio y asume que revocar antes de la expiración exige una lista de bloqueo que ahora tienes que mantener.
Por qué lo preguntan los entrevistadores
Esta es una pregunta de criterio disfrazada de pregunta de trivial. El entrevistador quiere oír una opción por defecto con un motivo, no una respuesta religiosa, y escucha si conoces el problema de la revocación y el del almacenamiento. Quien dice que los JWT son más seguros o quien propone localStorage normalmente no ha operado un sistema de autenticación en producción. Nombrar la compensación vale más que elegir bando.
Cómo estructurar tu respuesta
- Da tu opción por defecto y el único motivo que la sostiene.
- Nombra la condición que te haría cambiar de opinión.
- Explica el problema de la revocación con tokens.
- Cubre dónde se guarda la credencial en el cliente.
Ejemplo de respuesta
Para un producto normal con un solo backend, empiezo con sesiones de servidor. Un id de sesión opaco en una cookie httpOnly significa que el navegador no puede leerlo, así que un bug de XSS no entrega una cuenta de inmediato, y cerrar la sesión de alguien en todas partes es borrar una fila. Esa revocación instantánea vale mucho la primera vez que tienes que bloquear una cuenta comprometida a las dos de la mañana. Paso a JWT cuando hay varios servicios que necesitan verificar a quien llama sin un almacén compartido, o cuando un cliente móvil y uno de navegador atacan la misma API. Incluso entonces mantengo los tokens de acceso en unos quince minutos con un refresh token rotatorio, y detecto la reutilización del refresh como señal de robo. Lo que no hago es poner tokens en localStorage; si los necesito en el navegador, van en una cookie httpOnly con SameSite y protección CSRF en las peticiones que cambian estado. La ausencia de estado es un beneficio real, pero la gente subestima el coste de no poder revocar.
¿Tienes esta entrevista a la vuelta de la esquina? GhostPilot escucha tu llamada en vivo, detecta la pregunta en cuanto la hacen y pone una respuesta estructurada en tu pantalla en tiempo real. Pruébalo en tu próxima entrevista de práctica, o coge un Session Pass de $29, sin suscripción, para la de verdad.
Mira cómo funcionaPreguntas de seguimiento que puedes esperar
- ¿Cómo cerrarías la sesión de un usuario en todos sus dispositivos con JWT?
- ¿Por qué localStorage es un mal sitio para un token?
- ¿Cómo detecta la rotación de refresh tokens un token robado?
Más preguntas para Desarrollador full stack
Tu entrevistador hará su propia versión de esta. Pega la descripción real del puesto en el Question Predictor gratuito y obtén las 20 preguntas que ese puesto tiene más probabilidades de hacerte, con lo que cada una busca en realidad.
Predecir mis preguntas