¿Cómo puedo solucionar los errores 403 de “falta el token de autenticación” al invocar las API REST o HTTP de API Gateway con un nombre de dominio personalizado?

Última actualización: 11/11/2022

He seguido las instrucciones para configurar un nombre de dominio personalizado para mi API REST o HTTP de Amazon API Gateway. Aparece el error 403 de “falta el token de autenticación” cuando invoco la API. ¿Cómo se puede solucionar este error?

Descripción breve

Las API de API Gateway con nombres de dominio personalizados muestran el error 403 de “falta el token de autenticación” al invocar la API si la ruta de la URL es incorrecta.

Nota: al usar la URL de la etapa de API Gateway, no se mostrará el error 403 de “falta el token de autenticación”.

Resolución

Los nombres de dominio personalizados configurados para las API de API Gateway utilizan mapeos de API para conectar las etapas de la API y enviar tráfico a las API a través del nombre de dominio personalizado. Los mapeos de API tienen una API, una etapa, un nombre de dominio personalizado y, opcionalmente, una ruta para usar en la asignación. Para obtener más información, consulte Trabajar con mapeos de API.

En el siguiente ejemplo, el mapeo de API personalizado del dominio “https://api.example.com” se configura de la siguiente manera:

API Ejemplo Etapa Ruta URL predeterminada URL de dominio personalizada
abcd3456ef API 1 dev (ninguno) https://abcd3456ef.execute-api.us-east-1.amazonaws.com/dev https://api.example.com
wxyz1234ab API 2 prueba pedidos https://wxyz1234ab.execute-api.us-east-1.amazonaws.com/test https://api.example.com/orders
mnop5678qr API 3 prod clientes https://mnop5678qr.execute-api.us-east-1.amazonaws.com/prod https://api.example.com/customers

En este ejemplo de configuración, una solicitud realizada a la API 1 mediante la URL https://abcd3456ef.execute-api.us-east-1.amazonaws.com/dev/resourceA redirige el tráfico a “resourceA” correctamente. Esto se debe a que la solicitud se realiza al recurso para el nombre de la etapa “dev”. Sin embargo, la misma solicitud que utiliza la URL https://api.example.com/dev/resourceA devuelve un error 403 de “falta el token de autenticación”. Este error se produce porque la etapa “dev” está mapeada a la ruta (ninguna) del nombre de dominio personalizado. Para dirigir las solicitudes a “resourceA” con el nombre de dominio personalizado, asegúrese de que la URL sea https://api.example.com/resourceA.

Del mismo modo, la URL del nombre de dominio personalizado equivalente a https://wxyz1234ab.execute-api.us-east-1.amazonaws.com/test/resourceB es https://api.example.com/orders/resourceB. Esto se debe a que la etapa de “prueba” de la API 2 se mapea a la ruta “pedidos” en el mapeo personalizado de la API de dominio.