Appel d'une API avec des mécanismes d'autorisation Lambda API Gateway - Amazon API Gateway

Appel d'une API avec des mécanismes d'autorisation Lambda API Gateway

Après avoir configuré le mécanisme d'autorisation Lambda (anciennement appelé mécanisme d'autorisation personnalisée) et déployé l'API, vous devez tester l'API avec le mécanisme d'autorisation Lambda activé. Pour cela, vous avez besoin d'un client REST, tel que cURL ou Postman. Dans les exemples suivants, nous utilisons Postman.

Note

Lors de l'appel d'une méthode pour laquelle le mécanisme d'autorisation est activé, API Gateway ne consigne pas l'appel dans CloudWatch si le jeton requis pour le mécanisme d'autorisation TOKEN n'est pas défini, s'il est nul ou s'il est invalidé par la valeur Token validation expression (Expression de validation du jeton) spécifiée. De la même manière, API Gateway ne consigne pas l'appel dans CloudWatch si l'une des sources d'identité requises pour le mécanisme d'autorisation REQUEST n'est pas définie, ou si elle est nulle ou vide.

Nous détaillons ci-après comment utiliser Postman pour appeler ou tester l'API avec le mécanisme d'autorisation Lambda TOKEN (décrit précédemment) activé. La méthode peut servir à appeler une API avec un mécanisme d'autorisation Lambda REQUEST si vous spécifiez le chemin, l'en-tête ou les paramètres des chaînes d'interrogation requis de façon explicite.

Pour appeler une API avec le mécanisme d'autorisation personnalisée TOKEN

  1. Ouvrez Postman, sélectionnez la méthode GET et collez la valeur du champ Invoke URL de l'API dans le champ d'URL adjacent.

    Ajoutez l'en-tête de jeton d'autorisation Lambda et définissez la valeur allow. Sélectionnez Send (Envoyer).

    
                        Appel d'une API à l'aide d'un jeton d'autorisation Lambda Allow

    La réponse montre que le mécanisme d'autorisation Lambda API Gateway renvoie une réponse 200 OK et autorise l'appel à accéder au point de terminaison HTTP (http://httpbin.org/get) intégré à la méthode.

  2. Toujours dans l'application Postman, remplacez la valeur de l'en-tête de jeton d'autorisation Lambda par deny. Sélectionnez Send (Envoyer).

    
                        Appel d'une API à l'aide d'un jeton d'autorisation Lambda Deny

    La réponse montre que le mécanisme d'autorisation Lambda API Gateway renvoie une réponse 403 Forbidden (403 Interdit) sans autoriser l'appel à accéder au point de terminaison HTTP.

  3. Dans l'application Postman, remplacez la valeur de l'en-tête de jeton d'autorisation Lambda par unauthorized, puis sélectionnez Send (Envoyer).

    
                        Appel d'une API à l'aide d'un jeton d'autorisation Lambda Unauthorized

    La réponse montre qu'API Gateway renvoie une réponse 401 Unauthorized (401 Accès non autorisé) sans autoriser l'appel à accéder au point de terminaison HTTP.

  4. Maintenant, remplacez la valeur de l'en-tête de jeton d'autorisation Lambda par fail. Sélectionnez Send (Envoyer).

    
                        Appel d'une API à l'aide d'un jeton d'autorisation Lambda Fail

    La réponse montre qu'API Gateway renvoie une réponse 500 Internal Server Error (500 Erreur interne du serveur) sans autoriser l'appel à accéder au point de terminaison HTTP.