Come posso risolvere gli errori 403 "Token di autenticazione mancante" di un endpoint REST API di API Gateway?

Ultimo aggiornamento: 06/01/2023

Quando cerco di richiamare la mia REST API in Amazon API Gateway, ricevo i messaggi di errore 403 "Token di autenticazione mancante". Come posso risolvere questi errori?

Breve descrizione

Gli endpoint REST API in API Gateway restituiscono il messaggio di errore Token di autenticazione mancante per i seguenti motivi:

Per risolvere altri errori 403 per API Gateway, consulta Come posso risolvere gli errori HTTP 403 dall’API Gateway?

Risoluzione

Conferma l’esistenza di un metodo e di una risorsa configurati nel percorso risorse in API Gateway

Segui le istruzioni riportate in Impostazione di un metodo utilizzando la console API Gateway. Per ulteriori informazioni, consulta Configurazione delle risorse API.

Nota: affinché le modifiche abbiano effetto è necessario implementare l'PI.

Per le API con integrazione di una risorsa proxy in cui il metodo di richiesta viene inviato alla risorsa root, verifica che esista un metodo configurato nella risorsa root.

Verifica che le risposte di API Gateway non siano state modificate o che l'integrazione back-end non stia inviando la risposta

Assicurati che le risposte del gateway non siano state modificate nell'API. Inoltre, assicurati che l'errore non provenga dal back-end di integrazione. Controllare i registri di esecuzione e i registri di backend di API Gateway.

Conferma che la richiesta API sia firmata se l'autenticazione IAM è attiva per il metodo API

Conferma l'invio della richiesta del metodo HTTP corretta all'endpoint REST API

Il test di un endpoint API REST direttamente da un browser Web invia automaticamente una richiesta del metodo GET HTTP.

Per testare un metodo POST HTTP, utilizza un client HTTP differente. Ad esempio, Postman o curl.

Esempio di comando curl che utilizza la richiesta del metodo POST HTTP

$ curl -X POST  <API URL> -d <request body>

Esempio di richiesta di invio con intestazione JSON

$ curl --location -X POST 'https://1234WXYZ.execute-api.us-east-1.amazonaws.com/stage/lambda_proxy' --header 'Content-Type: application/json' --data-raw '{"x":"y"}'

Esempi di invio di richieste curl POST con autenticazione della firma AWS V4

$ curl -X POST "<ENDPOINT>" -d <data> --user <AWS_ACCESS_KEY>:<AWS_SECRET_KEY> --aws-sigv4 "aws:amz:<REGION>:<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:us-east-1:execute-api"

Questo articolo è stato utile?


Hai bisogno della fattura o di supporto tecnico?