JWT (JSON Web Token)
Advanced Ecosystem 🟡 MidDefinition
Token auto-contenu composé de 3 parties (header, payload, signature) encodé en Base64. Permet l'authentification stateless sans interroger la base de données à chaque requête.
Analogie
Un badge visiteur avec photo, nom et tampon de sécurité : toutes les infos sont sur le badge, pas besoin de vérifier un registre.
Exemple de code
import jwt from 'jsonwebtoken';
const accessToken = jwt.sign(
{ userId: user.id, role: 'admin' },
process.env.JWT_SECRET,
{ expiresIn: '15m' }
);
Cas d'usage
Authentification API stateless avec access token court (15min) et refresh token long (7j).
Anti-pattern
Stocker des données sensibles dans le payload JWT (il est seulement encodé, pas chiffré) ou utiliser un secret faible.