Ich habe versucht, meine Amazon-API-Gateway-REST-API aufzurufen, und habe 403-Fehlermeldungen mit dem Hinweis „Missing Authentication Token“ erhalten.
Kurzbeschreibung
REST-API-Endpunkte von API Gateway geben aus folgenden Gründen Fehler vom Typ Fehlendes Authentifizierungstoken zurück:
Informationen zur Behebung anderer 403-Fehler für API Gateway finden Sie unter Wie behebe ich HTTP-403-Fehler von API Gateway?
Lösung
Stelle sicher, dass der Ressourcenpfad von API-Gateway einen konfigurierten Vorgang und eine konfigurierte Ressource enthält
Folge den Anweisungen unter Einrichten einer Methode über die Konsole von API-Gateway. Weitere Informationen findest du unter Einrichten von API-Ressourcen.
**Wichtig:**Damit die Änderungen wirksam werden, musst du die API bereitstellen.
Stelle bei APIs mit Proxy-Ressourcenintegration, wo die Anfrage an die Root-Ressource gesendet wird, sicher, ob ein Vorgang unter der Root-Ressource konfiguriert ist.
Bestätige, dass die API-Gateway-Antworten nicht geändert wurden und dass die Backend-Integration die Antwort nicht gesendet hat
Stelle sicher, dass die Gateway-Antworten in der API nicht geändert wurden. Stelle darüber hinaus sicher, dass der Fehler nicht vom Backend der Integration stammt. Überprüfen Sie die Ausführungs- und Backend-Protokolle von API Gateway.
Vergewissere dich, dass die API-Anfrage signiert ist, wenn die IAM-Authentifizierung aktiviert ist
Weitere Informationen findest du unter AWS Signature Version 4 für API-Anfragen und Elemente einer AWS-API-Anforderungssignatur.
Vergewissere dich, dass du die richtige HTTP-Vorgangsanforderung an den REST-API-Endpunkt sendest
Teste einen REST-API-Endpunkt von einem Webbrowser aus, um automatisch eine GET-HTTP-Vorgangsanforderung zu senden.
Verwenden Sie einen anderen HTTP-Client, um eine POST-HTTP-Vorgangsanforderung zu testen. Verwenden Sie beispielsweise Postman auf der Postman-Website oder curl auf der Curl-Website.
Beispiel für einen Curl-Befehl, der die POST-HTTP-Methodenanforderung verwendet
curl -X POST API URL -d request body
Beispiel für das Senden einer Anfrage mit JSON-Kopfzeile
curl --location -X POST 'https://1234WXYZ.execute-api.your-aws-region.amazonaws.com/stage/lambda_proxy' --header 'Content-Type: application/json' --data-raw '{"x":"y"}'
Beispiele für das Senden einer Curl-POST-Anfrage mit AWS V4-Signaturauthentifizierung
curl -X POST "ENDPOINT" -d data --user AWS_ACCESS_KEY:AWS_SECRET_KEY --aws-sigv4 "aws:amz:AWS_REGION:AWS_SERVICE"
curl -X POST "https://1234WXYZ.execute-api.us-east-1.amazonaws.com/stage/lambda_proxy" -d '{"x":"y"}' --user ABCD:1234 --aws-sigv4 "aws:amz:your-aws-region:execute-api"
Ähnliche Informationen
Wie aktiviere ich die IAM-Authentifizierung für REST-APIs in API Gateway?