Dal lavoro con il gateway API AWS sono caduto nella stessa trappola che sembra di avere. Ci sono due cose che possono causare il messaggio 403 ("message": "Missing authentication token.")
infame da visualizzare: caching aggressivo
- di CloudFront
mi accorgo che si sta utilizzando CloudFront di memorizzare nella cache vostra richiesta API/risposte. CloudFront è un ottimo strumento - uno dei migliori meccanismi di caching se me lo chiedi - ma quando si memorizzano nella cache cose durante lo sviluppo, è davvero facile farsi prendere dai messaggi di errore in cache. Questo potrebbe essere il caso qui, quindi il mio consiglio è di rimuovere l'API da CloudFront fino a quando non è completamente funzionante.
- dimenticare di ri-distribuire
Una delle caratteristiche principali di gateway API è il modo AWS gestisce più versioni di API. Una volta implementato, puoi essere sicuro che gli endpoint API non cambieranno - esattamente ciò che desideri da un endpoint API.
Ciò è dovuto al modo in cui gli endpoint vengono distribuiti. Ogni modifica apportata nella console AWS deve essere distribuita in una specifica distribuzione per poter interagire con live.
Ad esempio, se distribuisco la mia API nella distribuzione "live" e tutto funziona correttamente, è grandioso. Ora posso continuare a modificare le impostazioni nella console AWS per migliorare l'API nel tempo e, quando sono contento di ciò che ho modificato, posso eseguire il deploy di nuovo in un'altra implementazione API, il che significa che gli attuali utenti dell'API non dovranno modificare i loro metodi di interazione fino a quando una distribuzione non viene ripristinata sulla distribuzione su cui stanno lavorando.
Il problema che potresti riscontrare è che anche se hai apportato molte modifiche alla console AWS, potresti non essere stato ridistribuito alla distribuzione che stai testando in Postman.
Nota a margine:
Nel pannello editor di risorse, è in grado di fornire informazioni sui tipi di risposta di questo metodo, le loro intestazioni e tipi di contenuto. Qui è possibile fornire messaggi di errore più significativi ai propri endpoint.
Sì, di solito siamo di fretta per testare le cose. Ma se siamo pazienti per leggere un'altra riga, siamo lì. – Nabin