Die Aufrufe von AWS-api-gateway-Endpunkt mit api-key mit rest-client POSTMAN
Entwickeln wir eine mobile/web app, für die wir mit aws lambda und dynamo db als unser backend.Die standalone-lambda-Funktionen arbeiten perfekt.
Die Anrufe weitergeleitet werden via api-gateway. Wir sind mit api-keys zur Nutzung der Sicherheits-features, die es bietet.
Für einige Testzwecke, wir werden versuchen, rufen Sie die api-Endpunkt durch einen Dritten rest-client POSTMAN.
Sind die Anforderungen der POST-Typ, aber egal was wir versuchen, wir bekommen
403 ("message": "Missing authentication token.")
Einen snapshot angehängt ist, für die Referenz. ( ein paar Teile sind Grau hinterlegt aus Gründen der Sicherheit )
- Wir sind nicht in der Lage, zu ergründen, ob die Ursache für das Verhalten.
- wenn das gleiche kann erreicht werden mit einem anderen tool dann bitte vorschlagen.
InformationsquelleAutor der Frage Subham Tripathi | 2015-09-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aus der Arbeit mit AWS-API-Gateway, ich habe fiel in die gleiche Falle, wie es scheint, haben Sie. Es gibt zwei Dinge, die verursachen können, die berüchtigte
403 ("message": "Missing authentication token.")
Meldung angezeigt werden:Ich feststellen, dass Sie mit CloudFront cache, um Ihre API-Anfragen/- Antworten. CloudFront ist toll, eines der besten caching-Mechanismen, wenn Sie mich Fragen — aber wenn caching Dinge, die während der Entwicklung, es ist wirklich einfach zu bekommen gefangen mit Cache-Fehlermeldungen. Dies kann hier der Fall sein, so mein Rat ist, entfernen Sie die API von CloudFront, bis Sie haben es in vollem Umfang funktioniert.
Eines der wichtigsten features der API-Gateway ist der Weg AWS wickelt mehrere Versionen der APIs. Einmal eingesetzt, können Sie sein in dem sicheren wissen, dass Ihre API-Endpunkte wird sich nicht ändern — genau, was Sie wollen aus einer API-endpoint.
Dies ist aufgrund der Art und Weise, dass die endpoints bereitgestellt. Jede änderung, die in der AWS-Konsole bereitgestellt werden muss, um einen bestimmten Einsatz, um zu-sammen mit live.
Wenn ich zum Beispiel die Bereitstellung der API, um die "live" - Einsatz und alles funktioniert gut, das ist toll. Ich kann nun weiter optimieren Einstellungen in der AWS-Konsole zur Verbesserung der API im Laufe der Zeit, und wenn ich glücklich bin mit dem was ich geändert habe kann ich bereitstellen, erneut, um ein weiteres API-Bereitstellung, was bedeutet, dass die aktuellen API-Benutzer nicht ändern, deren Interaktion Methoden bis zu einer Verteilung zurück auf die Bereitstellung Sie arbeiten.
Das problem ist, dass, obwohl Sie haben viele Veränderungen in der AWS-Konsole können Sie nicht re-implementiert, um die Bereitstellung, die Sie testen, in Postman.
Sidenote:
In der Ressource-editor, können Sie Informationen über diese Methode die Antwort des Typen, Ihre Header-und content-Typen. Hier ist es möglich, aussagekräftigere Fehlermeldungen lauten.
InformationsquelleAutor der Antwort Greg
Sieht es aus wie Sie nicht fügen Sie die Ressource in der URL. Die URL sollte so etwas wie:
aber Sie ist mehr wie
InformationsquelleAutor der Antwort noo
Anfordert API-Gateway-Pfade, die es nicht gibt zurück "- Meldung: Fehlende Authentifizierung Token" payload.
Leider ist das ziemlich verwirrend.
InformationsquelleAutor der Antwort David Dehghan
In meinem Fall war es, dass die Methode, die ich unterstützt, ist
POST
und ich versuchteGET
im browser. Ich wiederholt, indem ich einePOST
im Postman und es funktionierte!InformationsquelleAutor der Antwort f01
Ich musste hinzufügen einer API-Nutzung planen, und verknüpfen Sie dann den plan, um die API Stufe.
Scheint dies der einzige Weg, um link-der Schlüssel, um die API von AWS..
InformationsquelleAutor der Antwort TimoSolo
Auf der Bühne-Editor-Seite, es gibt eine linke nav mit dem Künstlernamen. Wenn Sie erweitern, Sie bekommen eine forward-Schrägstrich; wenn Sie erweitern Sie diese, bekommen Sie Ihre Ressource. Wenn Sie erweitern Sie Ihre Ressource, die Sie bekommen, Ihre Methode, und wenn Sie auf die Methode erhalten Sie eine "Invoke-URL" - link (das ist der gleiche wie der oben, aber mit der Ressource angehängt). Diese invoke-URL-link funktioniert der Aufruf der GET-Methode und die Ergebnisse zurückgegeben.
InformationsquelleAutor der Antwort Anubhav Gupta