Blog
SécuritéAPIBackend

API REST sécurisée en 2026 : les bonnes pratiques

Les 5 piliers d'une API REST sécurisée : authentification JWT, rate limiting, CORS, validation et logging.

12 avril 20267 min de lecture

La sécurité des API est devenue un enjeu critique. 83% des attaques web ciblent désormais les API plutôt que les interfaces utilisateur. Voici les 5 piliers d'une API REST sécurisée en 2026.

1. Authentification JWT

JSON Web Tokens reste le standard pour l'authentification stateless. Les règles d'or :

  • Algorithme HS256 minimum : jamais de "none" ou RS256 sans rotation de clés
  • Expiration courte : 15 minutes pour l'access token, 7 jours pour le refresh
  • Claims minimaux : n'incluez que l'ID utilisateur et les rôles

typescript
const token = jwt.sign(
  { sub: user.id, role: user.role },
  process.env.JWT_SECRET,
  { algorithm: 'HS256', expiresIn: '15m' }
);

Ne stockez jamais le JWT dans le localStorage. Utilisez un cookie HttpOnly, Secure, SameSite=Strict.

2. Rate Limiting

Protégez vos endpoints contre les abus avec un rate limiter par IP et par utilisateur :

typescript
const rateLimiter = {
  windowMs: 15 * 60 * 1000,
  max: 100,
  standardHeaders: true,
  legacyHeaders: false,
};

Appliquez des limites plus strictes sur les endpoints sensibles : login (5 tentatives/15min), création de compte (3/heure), reset password (3/heure).

3. CORS strict

Configurez CORS avec une allowlist explicite. Jamais de wildcard (*) en production :

  • origin : liste des domaines autorisés uniquement
  • methods : limitez aux méthodes nécessaires (GET, POST, PUT, DELETE)
  • credentials : true uniquement si vous utilisez des cookies

4. Validation des entrées

Validez chaque entrée avec un schéma strict. Zod en TypeScript, Pydantic en Python :

typescript
const createUserSchema = z.object({
  email: z.string().email().max(255),
  name: z.string().min(2).max(100),
  password: z.string().min(12).max(128),
});

  • Rejetez tout ce qui n'est pas explicitement autorisé
  • Échappez les sorties pour prévenir les XSS
  • Paramétrez les requêtes SQL pour prévenir les injections

5. Logging et monitoring

Loguez chaque requête avec les informations essentielles, sans données sensibles :

  • Timestamp, méthode, path, status code, durée
  • IP source (pour le rate limiting et la détection d'abus)
  • Jamais : mots de passe, tokens, données personnelles

Conclusion

La sécurité API n'est pas optionnelle. Ces 5 piliers — JWT, rate limiting, CORS, validation, logging — forment le socle minimal de toute API professionnelle en 2026.

Un projet ambitieux en tête ?

Discutons de votre idée. Je reviens vers vous en moins de 24h.