Fehlende Token zur Authentifizierung beim Zugriff auf API-Gateway?
Ich versuche zu rufen, eine Lambda-Funktion über die AWS-API-Gateway.
Wenn ich erwähne Authentifizierungstyp KEINE es funktioniert gut, aber die API öffentlich und jedermann mit url-Zugriff auf meine API.
Um API-Aufruf sicher, ich bin mit Authentifizierung geben Sie AWS_IAM und
auch an AmazonAPIGatewayInvokeFullAccess Politik, meine user aber immer diese Fehlermeldung:
{ Meldung: "Fehlende Authentifizierung Token"}
Ich weiß nicht, was ich hier vermisst.
InformationsquelleAutor der Frage Umer | 2016-09-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Denke ich, dass Sie direkt versuchen, Zugriff auf API-link, das wird nicht funktionieren, weil die API ist gesichert mit einer IAM-Rolle und Sie müssen AWS-Authentifizierung die ich.e Access key und Secret key.
Nutzung der Postbote Chrome-Erweiterung zum testen Ihrer API:
http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-use-postman-to-call-api.html
InformationsquelleAutor der Antwort saddam
Ich habe einige Zeit für einen dummen Grund:
Beim erstellen einer Stufe, wird der link angezeigt, nicht enthalten ist die Ressource, die Bestandteil der URL:
- API-URL:
https://1111.execute-api.us-east-1.amazonaws.com/dev
API + RESOURCE URL
https://1111.execute-api.us-east-1.amazonaws.com/dev/get-list
Den /get-Liste fehlte
Und natürlich, Sie brauchen, um zu überprüfen, dass die Methode, die Konfiguration sieht so aus:
InformationsquelleAutor der Antwort Carlos Alberto Schneider
Fand diese in den docs:
Wenn die AWS_IAM Genehmigung verwendet wurden, würden Sie Unterschreiben den Antrag mit der Unterschrift Version 4 Protokolle.
Signing request mit Signature Version 4
Können Sie generieren auch eine SDK für Ihre API.
So erzeugen Sie ein SDK, eine API in der API-Gateway
Sobald Sie erstellt haben, an das SDK für die Plattform Ihrer Wahl, Schritt 6 erwähnt, dass, wenn Sie die Nutzung von AWS-Anmeldeinformationen, die Anfrage an die API wird unterzeichnet:
Initialisiert die API-Gateway-SDK generiert mit AWS-Anmeldeinformationen, verwenden Sie ähnlichen code wie den folgenden. Wenn Sie AWS-Anmeldeinformationen, die alle Anfragen an die API unterzeichnet werden. Das bedeutet, Sie müssen die erforderlichen CORS-Accept-Header für jede Anforderung:
InformationsquelleAutor der Antwort theJasonHall
Ich hatte gerade das gleiche Problem und es scheint, es zeigt auch diese Meldung, wenn die Ressource nicht gefunden werden kann.
In meinem Fall hatte ich aktualisiert die API, aber vergessen bereitstellen. Das Problem wurde gelöst, nach der Bereitstellung der Aktualisierung der API auf meine Bühne.
InformationsquelleAutor der Antwort Nicholas
Wenn Sie aktivieren AWS_IAM-Authentifizierung müssen Sie Unterschreiben Ihren Antrag mit AWS-Anmeldeinformationen mit AWS Signature Version 4.
Hinweis: die Unterzeichnung in der AWS-Konsole nicht automatisch Zeichen Ihres Browsers Anfragen an das API.
InformationsquelleAutor der Antwort Bob Kinney
Überprüfen Sie zunächst, ob die API, die Sie in erstellt der lamda-Funktion registriert ist, mit Ihrem AWS-Projekt oder nicht. Rufen Sie dazu die API-gateway in Ihrem AWS-Konsole. Wenn es nicht registriert ist, registrieren Sie es. Dies ist die Hauptursache für dieses Problem.
Können Sie sogar sehen, in Ihrem aws.export.js - Datei, dass es Wege gibt, entsprechend Ihrem API
['/items']
.Ihre API muss dort präsent sein, sonst wird es nicht hängen Sie den Sicherheits-token anfordert. Registrieren Sie es einfach in Ihr Projekt mit cloud-Logik in Ihre Konsole.
Wenn Sie da ist, dann verwenden Sie die oben genannten Lösung
http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-use-postman-to-call-api.html
InformationsquelleAutor der Antwort Geetanshu Gulati