Session vs Token Auth
Advanced Ecosystem 🟡 MidDefinition
Sessions stockent l'état côté serveur (cookie + store), tokens sont stateless (JWT côté client). Sessions offrent révocation facile, tokens offrent scalabilité horizontale.
Analogie
Session = badge gardé au registre de l'accueil. Token = badge avec toutes les infos imprimées dessus.
Exemple de code
// Session: server stores state
req.session.userId = user.id; // Stored in Redis
// Token: client stores state
const token = jwt.sign({ userId: user.id }, secret);
res.json({ accessToken: token });
Cas d'usage
Choisir sessions pour les apps monolithiques classiques, tokens pour les API/microservices.
Anti-pattern
Stocker des JWT dans localStorage (vulnérable XSS) au lieu de cookies httpOnly.