Attivazione del supporto CORS per gli endpoint

CORS (condivisione delle risorse tra origini) è un meccanismo standard che consente alle chiamate XMLHttpRequest (XHR) eseguite in una pagina web di interagire con risorse provenienti da origini diverse. Senza CORS, il criterio della stessa origine applicato da tutti i browser impedirebbe le richieste multiorigine. Per ulteriori informazioni di base su CORS, consulta la documentazione di riferimento di Mozilla Developer Network (MDN).

Lo standard CORS richiede che i client web emettano un preflight CORS OPTIONS per determinare se il server web richiesto supporta CORS. Se un server web supporta la richiesta CORS, gestirà la richiesta OPTIONS con le intestazioni di risposta CORS appropriate.

Gestire CORS nell'applicazione di backend

Se il tuo backend supporta CORS, puoi configurare ESP o ESPv2 per trasmettere la richiesta CORS al backend. Puoi attivare il pass-through nella specifica OpenAPI per la tua API come mostrato di seguito:

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

Puoi anche abilitare il pass-through in una specifica OpenAPI 3.x per la tua API come mostrato di seguito:

openapi: 3.0.4
servers:
- url: https://my-cool-api.endpoints.my-project-id.cloud.goog
  x-google-endpoint:
    allowCors: True

Gestire CORS con ESP o ESPv2

Se il backend non supporta CORS, puoi configurare ESP o ESPv2 per gestire le richieste CORS specificando i flag di avvio CORS. Con questo approccio, le richieste di preflight CORS non verranno trasmesse all'applicazione di backend. Inoltre, ESP o ESPv2 aggiungono le intestazioni CORS configurate alle risposte del servizio di backend, se necessario.

Per ESP e ESPv2 sono disponibili le seguenti opzioni di avvio di CORS