6

Sto sviluppando un'applicazione basata su API Gateway e Lambda. Ho configurato POST/subscribe come "AWS_IAM". Quindi ora non può essere accessibile direttamente, ma posso accedere all'API con l'autenticazione Cognito.Come passare informazioni utente cognito a lambda?

Ora il problema è che la mia Lambda non sa chi è il chiamante dell'API. Come saperlo?

Ho 2 utenti: "Bob" e "John". My Lambda ha bisogno di sapere che il chiamante è Bob o John.

Grazie,

risposta

5

È possibile ottenere l'Cognito Identity ID dal identity di proprietà del parametro context (context.identity) come spiegato nella context Object Properties section of the Lambda Programming Model help topic. Una volta ottenuto l'identificatore univoco Cognito, è possibile utilizzare le API di Cognito Sync con le credenziali dello sviluppatore per cercare le informazioni memorizzate su questo utente in Cognito oppure è possibile utilizzare tale identificativo per associare l'ID alle informazioni utente memorizzate altrove.

Assicurarsi che Gateway API sia configurato per AWS_IAM (come indicato) e assicurarsi che "Richiama con credenziali del chiamante" sia selezionato nelle impostazioni "Richiesta di integrazione" del metodo.

+0

Grazie. Funziona sul metodo GET. Ma la mappatura non funziona su DELETE, POST e altri metodi. c'è qualche configurazione speciale? – user2882027

+1

Sto vedendo lo stesso problema. Farò un ping al team dell'API Gateway e chiederò loro una mano qui. –

+1

Ho cambiato il tipo di contesto in "text/plain" da "application/json". – user2882027

Problemi correlati