Configurar CORS para APIs HTTP no API Gateway
O compartilhamento de recursos entre origens (CORS)Cross-Origin Request Blocked, talvez seja necessário habilitar o CORS. Consulte mais informações em O que é CORS?
Normalmente o CORS é necessário para criar aplicativos Web que acessem APIs hospedadas em um domínio ou origem diferente. O CORS pode ser habilitado para permitir solicitações para sua API a partir de um aplicativo Web hospedado em um domínio diferente. Por exemplo, se sua API estiver hospedada em https://{api_id}.execute-api.{region}.amazonaws.com/, e você quiser chamar sua API a partir de um aplicativo web hospedado no example.com, sua API deverá ser compatível com CORS.
Se você configurar o CORS para uma API, o API Gateway enviará automaticamente uma resposta às solicitações de comprovação OPTIONS, mesmo que não haja uma rota OPTIONS configurada para sua API. Para uma solicitação CORS, o API Gateway adiciona os cabeçalhos de CORS configurados à resposta de uma integração.
nota
Se você configurar CORS para uma API, o API Gateway ignorará os cabeçalhos de CORS retornados de sua integração de backend.
Em uma configuração de CORS, é possível especificar os parâmetros a seguir. Para adicionar esses parâmetros usando o console da API HTTP do API Gateway, selecione Adicionar depois de inserir o valor.
| Cabeçalhos de CORS | Propriedade da configuração de CORS | Exemplos de valores | 
|---|---|---|
| 
                             Access-Control-Allow-Origin  | 
                        
                             allowOrigins  | 
                        
                            
  | 
                    
| 
                             Access-Control-Allow-Credentials  | 
                        
                             allowCredentials  | 
                        
                             true  | 
                    
| 
                             Access-Control-Expose-Headers  | 
                        
                             exposeHeaders  | 
                        
                             date, x-api-id, *  | 
                    
| 
                             Access-Control-Max-Age  | 
                        
                             maxAge  | 
                        
                             300  | 
                    
| 
                             Access-Control-Allow-Methods  | 
                        
                             allowMethods  | 
                        
                             GET, POST, DELETE, *  | 
                    
| 
                             Access-Control-Allow-Headers  | 
                        
                             allowHeaders  | 
                        
                             authorization, *  | 
                    
Para retornar cabeçalhos CORS, sua solicitação deve conter um cabeçalho origin. Para o método OPTIONS, sua solicitação deve conter um cabeçalho origin e um cabeçalho Access-Control-Request-Method.
A configuração de CORS pode parecer com a seguinte imagem:
     
     
  Configurar o CORS para uma API HTTP com uma rota $default e um autorizador
        É possível habilitar o CORS e configurar a autorização para qualquer rota de uma API HTTP. Quando você habilita o CORS e a autorização para a rota $default, há algumas considerações especiais. A rota $default captura solicitações para todos os métodos e rotas não definidos explicitamente, inclusive solicitações OPTIONS. Para oferecer suporte a solicitações OPTIONS não autorizadas, adicione uma rota OPTIONS /{proxy+} à API que não exija autorização e anexe uma integração à rota. A rota OPTIONS /{proxy+} tem prioridade mais alta que a $default. Como resultado, ela permite que os clientes enviem solicitações OPTIONS para a API sem autorização. Para obter mais informações sobre prioridades de roteamento, consulte Rotear solicitações de API.
Configurar o CORS para uma API HTTP usando a CLI da AWS
O comando update-api a seguir habilita as solicitações de CORS em https://www.example.com.
aws apigatewayv2 update-api --api-idapi-id--cors-configuration AllowOrigins="https://www.example.com"
Para obter mais informações, consulte CORS na Referência de API do Amazon API Gateway versão 2.