Autenticación JWT: cómo proteger tu app

Autenticación JWT: cómo proteger tu app

Autenticación JWT: cómo proteger tu app

Aprende a proteger tus aplicaciones web usando autenticación JWT paso a paso. Conoce su funcionamiento, ventajas y cómo implementarlo en Node.js.

¿Qué es JWT?

JWT (JSON Web Token) es un estándar abierto (RFC 7519) que permite transmitir información de forma segura y compacta entre dos partes como un objeto JSON. Es ampliamente usado en autenticación y autorización de usuarios en aplicaciones web modernas.

💡 Consejo: Aprende primero cómo crear una API REST con Express.js antes de implementar autenticación.

¿Por qué usar JWT?

  • ✅ No requiere almacenamiento en el servidor.
  • ✅ Compatible con múltiples plataformas (web, móviles, etc.).
  • ✅ Seguro si se implementa correctamente.

Estructura de un JWT

Un token JWT se compone de tres partes codificadas en base64:

header.payload.signature

1. Header

{ "alg": "HS256", "typ": "JWT" }

2. Payload

Contiene los datos (claims) del usuario. Ejemplo:

{ "userId": "123", "role": "admin" }

3. Signature

Se genera con una clave secreta y se usa para verificar que el token no haya sido alterado.

Cómo implementarlo en Node.js

  1. Instala el paquete: npm install jsonwebtoken
  2. Genera un token:
    
    const jwt = require('jsonwebtoken');
    const token = jwt.sign({{ userId: '123' }}, 'secreto', {{ expiresIn: '1h' }});
        
  3. Verifica el token:
    
    jwt.verify(token, 'secreto', (err, decoded) => {{
      if (err) return res.status(401).send('Token inválido');
      req.user = decoded;
    }});
        

Buenas prácticas

  • 🔒 Nunca compartas tu clave secreta.
  • 📅 Usa expiraciones cortas (expiresIn).
  • 📦 Usa HTTPS para proteger los tokens.
  • 🧹 Maneja la revocación con listas negras si es necesario.

Conclusión

La autenticación con JWT es una forma eficiente y moderna de proteger tus APIs y aplicaciones. Asegúrate de implementarla con buenas prácticas y mantener tus claves seguras.

Artículos relacionados

Publicar un comentario

Artículo Anterior Artículo Siguiente