Como posso solucionar erros 403 “Token de autenticação ausente” ao invocar APIs REST ou HTTP do API Gateway com um nome de domínio personalizado?

Data da última atualização: 11/11/2022

Eu segui as instruções para configurar um nome de domínio personalizado para minha API REST ou HTTP do Amazon API Gateway. Estou recebendo um erro 403 “Token de autenticação ausente” ao invocar a API. Como posso solucionar o problema e resolver esse erro?

Descrição breve

As APIs do API Gateway com nomes de domínio personalizados retornam o erro 403 “Token de autenticação ausente” ao invocar a API quando o caminho do URL está incorreto.

Observação: usar o URL de estágio da API do API Gateway não retorna o erro 403 “Token de autenticação ausente”.

Resolução

Os nomes de domínio personalizados configurados para as APIs do API Gateway usam mapeamentos de API para conectar estágios de API e enviar tráfego para APIs por meio do nome de domínio personalizado. Os mapeamentos de API têm uma API, um estágio, um nome de domínio personalizado e, opcionalmente, um caminho a ser usado no mapeamento. Para obter mais informações, consulte Trabalhar com mapeamentos de API.

No exemplo a seguir, o mapeamento da API do domínio personalizado “https://api.example.com” está configurado da seguinte forma:

API Exemplo Estágio Caminho URL padrão URL de domínio personalizado
abcd3456ef API 1 dev (nenhum) https://abcd3456ef.execute-api.us-east-1.amazonaws.com/dev https://api.example.com
wxyz1234ab API 2 test orders https://wxyz1234ab.execute-api.us-east-1.amazonaws.com/test https://api.example.com/orders
mnop5678qr API 3 prod customers https://mnop5678qr.execute-api.us-east-1.amazonaws.com/prod https://api.example.com/customers

Neste exemplo de configuração, uma solicitação feita à API 1 usando o URL https://abcd3456ef.execute-api.us-east-1.amazonaws.com/dev/resourceA direciona o tráfego para “resourceA” com êxito. Isso ocorre porque a solicitação é feita ao recurso pelo nome de estágio “dev”. No entanto, a mesma solicitação usando o URL https://api.example.com/dev/resourceA retorna um erro 403 “Token de autenticação ausente”. Esse erro ocorre porque o estágio “dev” está mapeado no caminho (none) do nome de domínio personalizado. Para encaminhar solicitações para “resourceA” usando o nome de domínio personalizado, certifique-se de que o URL seja https://api.example.com/resourceA.

Da mesma forma, o URL do nome de domínio personalizado equivalente a https://wxyz1234ab.execute-api.us-east-1.amazonaws.com/test/resourceB é https://api.example.com/orders/resourceB. Isso ocorre porque o estágio “test” da API 2 é mapeado no caminho “orders” no mapeamento da API de domínio personalizado.