Ativar a compatibilidade com CORS para Endpoints

A partilha de recursos de origem cruzada (CORS) é um mecanismo padrão que permite que as chamadas XMLHttpRequest (XHR) executadas numa página Web interajam com recursos de origens diferentes. Sem o CORS, a política de mesma origem aplicada por todos os navegadores impediria pedidos de origens diferentes. Para mais informações gerais sobre a CORS, consulte a documentação de referência da Mozilla Developer Network (MDN).

A norma CORS exige que os clientes Web emitam uma verificação prévia do CORS OPTIONS para determinar se o servidor Web pedido suporta o CORS. Se um servidor Web for compatível com o pedido CORS, processa o pedido OPTIONS com os cabeçalhos de resposta CORS adequados.

Processar o CORS na sua aplicação de back-end

Se o seu back-end suportar CORS, pode configurar o ESP ou o ESPv2 para transmitir o pedido CORS ao seu back-end. Pode ativar a transmissão na especificação OpenAPI da sua API, conforme mostrado:

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

Também pode ativar a transmissão direta numa especificação OpenAPI 3.x para a sua API, conforme mostrado:

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

Processar CORS com o ESP ou o ESPv2

Se o seu back-end não for compatível com CORS, pode configurar o ESP ou o ESPv2 para processar pedidos CORS especificando flags de arranque CORS. Nesta abordagem, os pedidos de verificação prévia da CORS não são transmitidos à sua aplicação de back-end. Além disso, o ESP ou o ESPv2 anexam os cabeçalhos CORS configurados às respostas do serviço de back-end quando adequado.

As seguintes opções de arranque do CORS estão disponíveis para o ESP e o ESPv2

OPTIONS