26-¿Qué es JWT? | SEGURIDAD INFORMÁTICA
https://www.youtube.com/watch?v=P8i2ily6tyE
Tutorial de JWT (JSON Web Tokens) - Guía Completa
¡Hola a todos! Soy Luisina y bienvenidos a este tutorial completo sobre JWT (JSON Web Tokens). En este video vamos a explorar este importante concepto de seguridad en desarrollo web.
¿Qué es JWT?
JWT (JSON Web Token) es un estándar abierto (RFC 7519) que define una forma compacta y autocontenida para transmitir información de forma segura entre partes como un objeto JSON.
Estructura de un JWT
Un JWT está compuesto por tres partes separadas por puntos:
1. Header (Encabezado)
Contiene el tipo de token y el algoritmo de firma.
{
"alg": "HS256",
"typ": "JWT"
}2. Payload (Carga útil)
Contiene los "claims" o declaraciones (información sobre la entidad).
{
"sub": "1234567890",
"name": "Juan Pérez",
"iat": 1516239022
}3. Signature (Firma)
Se crea codificando el header y payload, y firmándolos con un secreto.
Ventajas de usar JWT
Stateless (Sin estado): No requiere almacenamiento en el servidor
Escalabilidad: Ideal para aplicaciones distribuidas y microservicios
Seguridad: Firma digital verifica la integridad del token
Interoperabilidad: Funciona con múltiples lenguajes y plataformas
Ejemplo práctico en código
// Instalación de la librería (Node.js)
// npm install jsonwebtoken
const jwt = require('jsonwebtoken');
// Crear un token
const token = jwt.sign(
{ userId: 123, username: 'luisina' },
'mi_clave_secreta',
{ expiresIn: '1h' }
);
console.log('Token generado:', token);
// Verificar un token
try {
const decoded = jwt.verify(token, 'mi_clave_secreta');
console.log('Token decodificado:', decoded);
} catch (error) {
console.error('Token inválido:', error.message);
}Flujo de autenticación con JWT
Cliente envía credenciales al servidor
Servidor verifica credenciales y genera JWT
JWT se envía al cliente
Cliente incluye JWT en cabeceras de solicitudes posteriores
Servidor verifica JWT antes de procesar solicitudes
Mejores prácticas de seguridad
Usar algoritmos fuertes como HS256 o RS256
Establecer tiempos de expiración cortos
Almacenar tokens de forma segura (HTTPOnly cookies)
Validar siempre la firma del token
Usar HTTPS para transmitir tokens
Herramientas útiles
jwt.io - Debugger y información sobre JWT
Librerías disponibles para todos los lenguajes principales
¡Espero que este tutorial te haya sido útil! No olvides suscribirte al canal y activar la campanita para más contenido sobre desarrollo y seguridad.
¿Tienes preguntas sobre JWT? ¡Déjalas en los comentarios
Comentarios
Publicar un comentario