JWT en cookies HTTP-only
Firme JWT y almacénelos en cookies HTTP-only para evitar el robo de tokens mediante XSS
JWT en cookies HTTP-only es una lección gratuita de Sveltejs Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Sveltejs Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Sveltejs Academy incluye 4 lecciones en total.
Conceptos básicos de JWT
Los JSON Web Tokens son tokens autocontenidos que contienen claims firmados por su servidor.
Por qué usar JWT
Los JWT evitan almacenar sesiones en el servidor. El propio token demuestra la identidad.
Almacenar en una cookie httpOnly
Establezca el JWT como una cookie httpOnly para evitar su robo mediante XSS.
cookies.set("token", jwt, { httpOnly: true, secure: true, path: "/" });Evitar localStorage
No almacene nunca los JWT en localStorage. Los ataques XSS pueden leerlos y suplantar a los usuarios.
Verificar en los hooks
En handle, verifique la firma del token y decodifique los claims.
const token = event.cookies.get("token");
try { event.locals.user = verify(token, SECRET); } catch { event.locals.user = null; }Firmar con un secreto
Firme los tokens con un secreto seguro que solo conozca su servidor. No lo exponga nunca.
Expiración
Establezca expiraciones cortas (de 15 a 60 minutos) y use tokens de actualización para renovarlos.
Algoritmos
Use HS256 para firmas simétricas o RS256 para firmas asimétricas (con claves pública y privada).
Tokens de actualización
Emita un token de actualización para obtener nuevos tokens de acceso sin volver a iniciar sesión.
Estrategia de cierre de sesión
Los JWT no se pueden revocar al instante sin una lista negra. Utilice tiempos de expiración cortos para mitigar este problema.
Bibliotecas
Utilice los paquetes npm jose o jsonwebtoken para firmar y verificar.
Comprobación rápida
¿Dónde NO se deben almacenar los JWT?
Resumen
Almacene los JWT en cookies httpOnly, verifíquelos en los hooks, establezca tiempos de expiración cortos y utilice tokens de actualización para renovarlos.
Preguntas frecuentes
¿La lección «JWT en cookies HTTP-only» es gratis?
Sí — el texto completo de «JWT en cookies HTTP-only» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Sveltejs Academy, actualiza a CoddyKit PRO. El curso de Sveltejs Academy incluye 4 lecciones en total.
¿Qué aprenderé en «JWT en cookies HTTP-only»?
Firme JWT y almacénelos en cookies HTTP-only para evitar el robo de tokens mediante XSS Practicas Sveltejs Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Sveltejs Academy?
No se requiere experiencia previa. Sveltejs Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «JWT en cookies HTTP-only»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Sveltejs Academy?
Sí. Cada lección de Sveltejs Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Sesiones basadas en cookies
- JWT en cookies HTTP-only
- Rutas protegidas en el hook handle()
- OAuth con SvelteKit y Lucia Auth