11

Sto provando a chiamare una funzione Lambda tramite il gateway API AWS.Errore di ricezione: token di autenticazione mancante dopo la richiesta dell'API AWS

Ho ricevuto questo errore quando ho provato l'autenticazione IAM, l'autenticazione chiave API e anche senza autenticazione. enter image description here

{"message":"Missing Authentication Token"} 

Alcune persone hanno avuto lo stesso problema a causa di endpoint non esistente. Tuttavia, ho preso il mio endpoint direttamente dalla console AWS della funzione Lambda.

Ho cercato di aprire l'URL nel browser e anche sul postino (con e senza autenticazione dell'intestazione: x-api-key: ************* ****). enter image description here

Entrambi hanno risposto con l'errore sopra indicato.

+0

Funziona se si imposta l'API prima in API Gateway e quindi si aggiunge la funzione Lambda all'API? –

risposta

5

Un altro passo: nel Postman, è necessario impostare il Autorizzazione a AWS Firma, e quindi inserire il AccessKey e secretkey dal vostro utente IAM:

postino screenshot Postman screenshot

+0

Molto buono! Funziona in postino. :) –

3

scriverò una FAQ dettagliata qui per eventuali spettatori. Ordinato dalla causa più comune.

  1. Percorso di risorsa errato e/o metodo HTTP.
    • Se avete il percorso risorsa giusta e il metodo HTTP sbagliato, ci si può comunque vedere questo messaggio
    • È possibile utilizzare postino o qualche altro client di firmare una richiesta alla stessa risorsa/metodo e se prendi un 404 quindi hai sicuramente la risorsa/metodo sbagliato.
  2. Firma mancante su protetta/risorsa. Per impostazione predefinita, la tua API sarà aperta. Se hai richiesto esplicitamente AWS Auth, l'errore indica che la richiesta non è stata firmata.
  3. Se si sta utilizzando la console Lambda per creare un 'Endpoint API', potrebbe trattarsi di un problema sul terminale Lambda o un ritardo nella propagazione della nuova API. In questo caso, vai alla console del gateway API e dovresti vedere la stessa API che Lambda ha creato per te. Assicurarsi che sia stato distribuito e che si disponga dello stage, del percorso della risorsa e del metodo corretti.
0

Devi abilitare CORS dalle azioni per l'API. Questo creerà un nuovo metodo OPZIONI. CORS è per richieste cross domain