CORS (Cross-Origin Resource Sharing)

Architecture 🟡 Mid

Définition

Mécanisme de sécurité HTTP qui permet a un serveur d'indiquer quelles origines sont autorisées a accéder a ses ressources. Gère via des headers spécifiques.

Analogie

Le badge d'accès a un immeuble : seuls les employés autorises (origines) peuvent entrer dans certains étages (endpoints).

Exemple de code

app.use(cors({
  origin: ['https://myapp.com'],
  methods: ['GET', 'POST'],
  credentials: true,
  maxAge: 86400 // preflight cache 24h
}));

Cas d'usage

Frontend sur un domaine différent du backend — quasi-obligatoire en SPA moderne.

Anti-pattern

Access-Control-Allow-Origin: * avec credentials — interdit par les navigateurs et insecure.
#architecture#interview#api#security

En entretien

  1. Explique CORS et pourquoi c'est nécessaire en SPA.

    CORS est un mécanisme de sécurité HTTP qui permet à un serveur d'indiquer via des headers quelles origines sont autorisées à accéder à ses ressources ; c'est quasi obligatoire dès que le frontend est sur un domaine différent du backend.

  2. Pourquoi "Access-Control-Allow-Origin: *" avec credentials est-il dangereux ?

    Parce que c'est interdit par les navigateurs et insecure ; c'est justement l'anti-pattern à éviter avec CORS.

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre