Skip to main content
Au lieu d’utiliser des rôles IAM et des politiques pour sécuriser votre API, vous pouvez utiliser les User Pools d’Amazon Cognito. Veuillez créer les User Pools Amazon Cognito appropriés avant de commencer ce tutoriel.

Intégrer le Cognito User Pool à l’API API Gateway

Accédez à la Amazon API Gateway Console. À l’aide de la barre de navigation de gauche, sélectionnez l’API SecurePets. Ensuite, sélectionnez Authorizers pour l’API SecurePets. Dans la colonne Authorizers, près du centre de l’écran, choisissez Create et indiquez que vous créez un Cognito User Pool Authorizer. Pour configurer votre authorizer :
  1. Choisissez la Cognito region dans laquelle vous avez créé votre User Pool.
  2. Personnalisez le champ Authorizer name, si vous le souhaitez (il sera automatiquement rempli avec le nom du User Pool sélectionné; vous pouvez donc le laisser tel quel).
  3. Personnalisez le champ Identity token source. Par défaut, ce champ est défini sur method.request.header.Authorization, ce qui définit à Authorization le nom de l’en-tête de requête entrant qui contient le token d’identité de l’appelant de l’API.
  4. Si vous le souhaitez, ajoutez une expression régulière au champ App client ID regex pour valider les ID client associés au User Pool.
Lorsque vous avez terminé de configurer votre authorizer, cliquez sur Create pour intégrer le User Pool à votre API.

Activer le User Pool authorizer sur les méthodes

Pour chaque méthode pour laquelle vous voulez que le User Pool agisse comme authorizer, vous devez activer cette option pour la méthode en question. Pour activer le User Pool authorizer sur la méthode GET :
  1. Après avoir sélectionné l’API SecurePets, sélectionnez la méthode GET indiquée sous /pets.
  2. Cliquez sur Method Request.
  3. Dans Authorization Settings, cliquez sur l’icône de modification à côté du champ Authorization.
  4. Dans la liste, choisissez le Cognito User Pool authorizer approprié. Cliquez sur l’icône en forme de coche pour enregistrer votre sélection.
Répétez ce processus pour toute autre méthode pour laquelle vous voulez que le Cognito User Pool agisse comme authorizer (GET et PURCHASE pour /pets, ainsi que POST pour /purchase).