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