Configurer la compatibilité du CORS pour Endpoints

CORS (Cross-Origin Resource Sharing) est un mécanisme standard qui permet aux appels XMLHttpRequest (XHR) exécutés sur une page Web d'interagir avec des ressources d'origines différentes. Sans le CORS, les règles de même origine appliquées par tous les navigateurs empêchent les requêtes d'origines multiples. Pour obtenir plus d'informations générales sur le CORS, consultez la documentation de référence de Mozilla Developer Network (MDN).

La norme CORS exige des clients Web qu'ils envoient une requête CORS OPTIONS préliminaire pour déterminer si le serveur Web demandé est compatible avec CORS. Si un serveur Web accepte les requêtes CORS, il traite la requête OPTIONS avec les en-têtes de réponse CORS appropriés.

Gérer le CORS dans votre application backend

Si votre backend est compatible avec le CORS, vous pouvez configurer ESP ou ESPv2 pour transmettre la requête du CORS à votre backend. Vous pouvez activer la transmission dans la spécification OpenAPI de votre API, comme indiqué ci-dessous :

swagger: "2.0"
host: "my-cool-api.endpoints.my-project-id.cloud.goog"
x-google-endpoints:
- name: "my-cool-api.endpoints.my-project-id.cloud.goog"
  allowCors: True

Gérer le CORS avec ESP ou ESPv2

Si votre backend n'est pas compatible avec le CORS, vous pouvez configurer ESP ou ESPv2 pour gérer les requêtes du CORS en spécifiant des options de démarrage CORS. Avec cette approche, les requêtes CORS préliminaires ne sont pas transmises à votre application backend. De plus, ESP ou ESPv2 ajoute les en-têtes CORS configurés aux réponses du service de backend, le cas échéant.

Les options de démarrage CORS suivantes sont disponibles pour ESP et ESPv2