Abilitazione del supporto CORS per gli endpoint

CORS (Cross-Origin Resource Sharing) è un meccanismo standard che consente alle chiamate XMLHttpRequest (XHR) eseguite in una pagina web di interagire con risorse di 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 OPTIONS preflight CORS per determinare se il server web richiesto supporta CORS. Se un server web supporta le richieste CORS, gestirà la richiesta OPTIONS con intestazioni di risposta CORS corrette.

Gestire CORS nell'applicazione di backend

Se il tuo backend supporta CORS, puoi configurare ESP o ESPv2 in modo che passi la richiesta CORS al tuo backend. Puoi abilitare il passthrough 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

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. In questo approccio, le richieste preflight CORS non passeranno all'applicazione di backend. Inoltre, ESP o ESPv2 aggiungerà le intestazioni CORS configurate alle risposte del servizio di backend, se opportuno.

Le seguenti opzioni di avvio CORS sono disponibili per ESP ed ESPv2