Estudio de Passport.js

Autenticación ⭐ 21k stars
Middleware de autenticación para Node con más de 500 estrategias.

🤖 Skill de implementación: frontend-desarrollo (regla: solo catálogo de las 66 · versiones por ERR/MEJ)

1 · Características

2 · Casos de uso

3 · Script minimalista

Instalación: npm i passport

import passport from 'passport';
import { Strategy as Local } from 'passport-local';
passport.use(new Local((u, p, done) => done(null, u === 'a' && p === 'b' ? { u } : false)));

4 · Casos de uso (implementación real)

Dos casos de uso comunes implementados con esta librería.

1. Estrategia local

Autenticación con usuario y contraseña.

import passport from 'passport';
import { Strategy as LocalStrategy } from 'passport-local';

passport.use(new LocalStrategy((usuario, clave, done) => {
  if (usuario === 'admin' && clave === '123') return done(null, { usuario });
  return done(null, false, { message: 'Credenciales inválidas' });
}));
🔁 Cómo funciona: La estrategia valida las credenciales y llama `done` con el usuario o false.

2. Serializar sesión

Mantiene el usuario en la sesión.

import passport from 'passport';

passport.serializeUser((user, done) => done(null, user.usuario));
passport.deserializeUser((id, done) => done(null, { usuario: id }));

// Proteger una ruta:
// app.get('/perfil', passport.authenticate('local', { session: true }), (req, res) => res.json(req.user));
🔁 Cómo funciona: `serializeUser`/`deserializeUser` guardan y restauran el usuario entre peticiones.

5 · Referencia

CategoríaAutenticación
Stars (GitHub)⭐ 21k
Sitio oficialhttps://www.passportjs.org/
GitHubhttps://github.com/jaredhanson/passport
Instalaciónnpm i passport
RelacionadasJWT (jsonwebtoken) · bcrypt · express-session
📦 Regla de librerías (local primero): revisar C:\Users\TUF\Documents\librerías\local\ antes de descargar. Volver al índice de los 66 estudios.