web-dev-qa-db-fra.com

Comment configurer l'en-tête dans Postman pour Api Gateway authentifié avec Cognito?

J'utilise AWS Identity Pool avec le fournisseur Facebook pour authentifier le client. Je dois invoquer AWS Lambda à l'aide d'Api Gateway. De Cognito, en utilisant le jeton Facebook, j'ai reçu des informations d'identification: AccessKeyId, SecretKey et SessionToken.

À l'aide de ces informations d'identification, comment dois-je configurer la demande d'en-tête pour appeler mon Lambda?

Configuration de la passerelle Api (le test appelle mon lambda)

enter image description here

J'essaie d'appeler mon API, elle renvoie "Le jeton de sécurité inclus dans la demande n'est pas valide."

enter image description here

Je vous remercie!

8
Alexander Karpov

Vous devez définir manuellement 'x-amz-security-token' dans Postman et passer le jeton dans cet en-tête.

3

JoshuaC et Vijayanath Viswanathan merci à vous deux. Suite à votre suggestion, j'ai résolu le problème.

J'ai fait les étapes suivantes:

  1. Configurez Signature AWS et cliquez sur " Demande de mise à jour "

enter image description here

  1. Ajoutez un en-tête " X-Amz-Security-Token " avec SessionToken

enter image description here

4
Alexander Karpov

Veuillez essayer ceci pour le facteur:

http://docs.aws.Amazon.com/apigateway/latest/developerguide/how-to-use-postman-to-call-api.html

vous choisissez l'option Signature AWS dans la liste déroulante Autorisation, et remplissez les champs à l'aide de la clé et du secret, cliquez sur Mettre à jour. Le facteur signera la demande pour vous.

Et assurez-vous également que le rôle attribué à vos utilisateurs cognito a accès pour appeler apig.

3
JoshuaC