CORS

NestJS 🟢 Junior

Definition

Cross-Origin Resource Sharing : mecanisme HTTP qui permet a un frontend sur un domaine different d'acceder a l'API. Configure via app.enableCors().

Analogie

Comme un visa d'entree : il autorise les visiteurs de certains pays (origines) a acceder au territoire (API).

Exemple de code

app.enableCors({
  origin: ['https://monsite.com', 'https://admin.monsite.com'],
  methods: ['GET', 'POST', 'PUT', 'DELETE'],
  credentials: true,
});

Cas d'usage

Permettre au frontend SPA sur un autre domaine de communiquer avec l'API backend.

Anti-pattern

Configurer origin: '*' avec credentials: true, ce qui est interdit par les navigateurs et insecurise.

Termes lies

#security#interview