J'ai suivi les instructions pour configurer un nom de domaine personnalisé pour mon API REST ou HTTP Amazon API Gateway. Je reçois une erreur 403 « Missing Authentication token » (Jeton d'authentification manquant) lorsque j'appelle l'API. Comment puis-je résoudre cette erreur ?
Brève description
Les API API Gateway avec des noms de domaine personnalisés renvoient l'erreur 403 « Missing Authentication token » (Jeton d'authentification manquant) lors de l'appel de l'API si le chemin de l'URL est incorrect.
Remarque : l'utilisation de l'URL de stage de l'API API Gateway ne renverra pas l'erreur 403 « Missing Authentication token » (Jeton d'authentification manquant).
Solution
Les noms de domaine personnalisés configurés pour les API API Gateway utilisent des mappages d'API pour connecter les étapes de l'API afin d'envoyer du trafic vers les API via le nom de domaine personnalisé. Les mappages d'API ont une API, une étape, un nom de domaine personnalisé et, éventuellement, un chemin à utiliser pour le mappage. Pour plus d'informations, consultez Utilisation des mappages d'API.
Dans l'exemple suivant, le mappage d'API du domaine personnalisé « https://api.example.com » est configuré comme suit :
| | | | | |
---|
API | Exemple | Étape | Chemin | URL par défaut | URL de domaine personnalisée |
abcd3456ef | API 1 | dev | (aucun) | https://abcd3456ef.execute-api.us-east-1.amazonaws.com/dev | https://api.example.com |
wxyz1234ab | API 2 | test | commandes | https://wxyz1234ab.execute-api.us-east-1.amazonaws.com/test | https://api.example.com/orders |
mnop5678qr | API 3 | prod. | clients | https://mnop5678qr.execute-api.us-east-1.amazonaws.com/prod | https://api.example.com/customers |
Dans cet exemple de configuration, une requête envoyée à l'API 1 à l'aide de l'URL https://abcd3456ef.execute-api.us-east-1.amazonaws.com/dev/resourceA achemine le trafic vers « resourceA » avec succès. Cela est dû au fait que la demande est faite à la ressource pour le nom d'étape « dev ». Toutefois, la même demande utilisant l'URL https://api.example.com/dev/resourceA renvoie une erreur 403 « Missing Authentication Token » (Jeton d'authentification manquant). Cette erreur se produit car l'étape « dev » est mappée sur le chemin (aucun) du nom de domaine personnalisé. Pour acheminer les requêtes vers « resourceA » à l'aide du nom de domaine personnalisé, assurez-vous que l'URL est https://api.example.com/resourceA.
De même, l'URL du nom de domaine personnalisé équivalent à https://wxyz1234ab.execute-api.us-east-1.amazonaws.com/test/resourceB est https://api.example.com/orders/resourceB. Cela est dû au fait que l'étape de « test » de l'API 2 est mappée au chemin « commandes » dans le mappage d'API de domaine personnalisé.
Informations connexes
Comment résoudre les erreurs HTTP 403 à partir d'API Gateway ?
Comment puis-je résoudre les erreurs 403 « Missing Authentication Token » (Jeton d'authentification manquant) sur le point de terminaison API REST de la passerelle API ?
Configuration d'un nom de domaine personnalisé régional dans API Gateway