Bonjour,

Une petite question par rapport aux bonnes pratiques avec le CORS et les headers Access-Control-Allow-.

Si l'on considère ce context:

  • Une application vueJS qui doit appeler une Rest API
  • Si cette Rest Api n'implemente pas ces headers:

    Nom : Headers.png
Affichages : 55
Taille : 185,1 Ko


alors le browser (chrome, Firefox ...) va générer une exception Cross-Origin Request Blocked dés lors que le service rest sera appelé.

Nom : CorsException.png
Affichages : 48
Taille : 153,9 Ko


On peut ajouter ces headers (Access-Control-Allow-...) dans les microservices afin de ne plus avoir ces problèmes de Cross Origin (ces services seront tôt ou tard appelés par la UI [VueJS]). On peut même faire mieux en ayant un API gateway : La front end appelera uniquement un rest service et ce même rest service appèlera les autres microservices (mais ce n'est pas le topic dans ce post)
Nom : ApiGateway.png
Affichages : 48
Taille : 105,4 Ko

En fait cette erreur (CORS) va seulement apparaitre quand on va appeler le service rest à partir du Browser (par exemple à partir d'une application vue JS).

Si un hacker crée un service rest externe à votre application il peut appeler votre microservice (qui n'a pas ces headers) mais n'aura pas cet exception Cross Origin car il l'appelera à partir d'un service Rest et non d'un browser.

Quelle est ici la bonne pratique : dois je porter une attention particulière à ces headers (est-ce dangereux de les setter à Access-Control-Allow-Origin=* ou à son nom de domaine) ?

Merci pour votre aide