Jeton d'authentification manquant lors de l'accès à API Gateway?
Je suis en train d'appeler une Fonction Lambda par le biais d'API AWS Passerelle.
Quand je mentionne le type d'Authentification AUCUN, il fonctionne très bien mais l'API devenir public et n'importe qui avec l'url peut accéder à mon API.
Pour faire appel d'API sûr, je suis l'aide de l'Authentification de type AWS_IAM et
également attaché AmazonAPIGatewayInvokeFullAccess politique à mon utilisateur mais obtenir cette erreur:
{ message: "Manque de Jeton d'Authentification"}
Je ne sais pas ce que je suis en manque ici.
source d'informationauteur Umer
Vous devez vous connecter pour publier un commentaire.
Je pense que vous êtes directement en essayant d'accéder à l'API de lien, cela ne fonctionne pas parce que l'API est sécurisé à l'aide de rôle IAM et vous devez fournir AWS authentification je.e touche d'Accès et la clé Secrète.
Utiliser le Facteur extension Chrome pour tester votre API:
http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-use-postman-to-call-api.html
J'ai perdu un peu de temps pour une stupide raison:
Lorsque vous créez une scène, le lien affiché ne contient pas la ressource de la partie de l'URL:
API URL:
https://1111.execute-api.us-east-1.amazonaws.com/dev
API + URL DE RESSOURCE
https://1111.execute-api.us-east-1.amazonaws.com/dev/get-list
La /get-liste manquait
Et bien sûr, vous devez vérifier que la méthode de configuration ressemble à ceci:
Trouvé ça dans la doc:
Si le AWS_IAM autorisation d'utilisation, vous devez signer la demande à l'aide de la Signature de la Version 4 de protocoles.
Demande de signature de Signature de la Version 4
Vous pouvez également générer un SDK pour votre API.
Comment générer un SDK pour un API API Gateway
Une fois que vous avez généré le SDK de la plate-forme de votre choix, à l'étape 6 mentionne que si vous êtes en utilisant les informations d'identification AWS, la requête à l'API sera signé:
Pour initialiser la Passerelle API générée SDK AWS informations d'identification, utilisez un code similaire à celui-ci. Si vous utilisez des informations d'identification AWS, toutes les requêtes à l'API sera signé. Cela signifie que vous devez définir la appropriée de la SCRO Accepter les en-têtes pour chaque demande:
J'ai juste eu le même problème et il semble qu'elle montre également ce message si la ressource ne peut pas être trouvé.
Dans mon cas, j'ai eu mise à jour de l'API, mais oublié de le redéployer. Le problème a été résolu après le déploiement de la mise à jour de l'API de mon stage.
Si vous activez AWS_IAM d'authentification, vous devez vous connecter à votre demande avec les informations d'identification AWS à l'aide de AWS Signature de la Version 4.
Note: signature dans la console AWS n'est pas automatiquement signe de votre navigateur demande à votre API.