TechLead
Lección 7 de 8
5 min de lectura
Node.js Avanzado

Autenticación en Node.js

Implementa sesiones, JWT y middleware de autorización

Sesiones vs JWT

  • • Sesiones: estado en servidor + cookie
  • • JWT: token firmado, estado en cliente

Hash de contraseñas

const bcrypt = require('bcrypt');
const hash = await bcrypt.hash(password, 10);
const ok = await bcrypt.compare(password, hash);

JWT básico

const jwt = require('jsonwebtoken');

const token = jwt.sign({ userId }, process.env.JWT_SECRET, {
  expiresIn: '1h'
});

Middleware de autorización

function requireAuth(req, res, next) {
  const header = req.headers.authorization;
  if (!header) return res.status(401).json({ error: 'Token requerido' });
  next();
}

💡 Buenas prácticas

  • ✓ Expira tokens y refresca sesiones
  • ✓ Usa httpOnly en cookies
  • ✓ Implementa revocación cuando sea necesario

Sigue aprendiendo