Trigger Lambda di post-autenticazione - Amazon Cognito

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Trigger Lambda di post-autenticazione

Amazon Cognito richiama questo trigger dopo l'accesso di un utente, il che ti consente di aggiungere logica personalizzata dopo l'autenticazione da parte di Amazon Cognito.

Panoramica sul flusso dell'autenticazione

Trigger Lambda di post-autenticazione - Flusso client

Per ulteriori informazioni, consulta Flusso di autenticazione del bacino d'utenza.

Parametri del trigger Lambda di post autenticazione

La richiesta passata da Amazon Cognito a questa funzione Lambda è una combinazione dei parametri seguenti e dei parametri comuni aggiunti da Amazon Cognito a tutte le richieste.

JSON
{ "request": { "userAttributes": { "string": "string", . . . }, "newDeviceUsed": boolean, "clientMetadata": { "string": "string", . . . } }, "response": {} }

Parametri di richiesta di post autenticazione

newDeviceUsed

Questo contrassegno indica se l'utente ha effettuato l'accesso da un nuovo dispositivo. Amazon Cognito imposta questo contrassegno solo se il valore dei dispositivi memorizzati del bacino d'utenza è impostato su Always o User Opt-In.

userAttributes

Una o più coppie nome-valore che rappresentano gli attributi utente.

clientMetadata

Una o più coppie chiave-valore che è possibile fornire come input personalizzato alla funzione Lambda specificata per il trigger di post-autenticazione. Per trasmettere questi dati alla funzione Lambda, usa il parametro ClientMetadata nelle operazioni API AdminRespondToAuthChallenge e RespondToAuthChallenge. Quando trasmette la richiesta alla funzione di post autenticazione, Amazon Cognito non include dati provenienti dal parametro ClientMetadata nelle operazioni API AdminInitiateAuth e InitiateAuth.

Parametri di risposta di post autenticazione

Amazon Cognito non prevede di restituire ulteriori informazioni nella risposta. La funzione può utilizzare le operazioni API per interrogare e modificare le risorse o registrare i metadati degli eventi in un sistema esterno.

Tutorial sull'autenticazione

L'approvazione dell'accesso di un utente da parte di Amazon Cognito attiva la funzione Lambda di post-autenticazione. Guarda questi tutorial sulla procedura di accesso per JavaScript, Android e iOS.

Piattaforma Tutorial
SDK di identità per JavaScript Accesso degli utenti con JavaScript
SDK di identità per Android Accesso degli utenti con Android
SDK di identità per iOS Accesso degli utenti con iOS

Esempio di post autenticazione

Questa funzione Lambda di post-autenticazione di esempio invia i dati di un accesso riuscito a CloudWatch Logs.

Node.js
const handler = async (event) => { // Send post authentication data to Amazon CloudWatch logs console.log("Authentication successful"); console.log("Trigger function =", event.triggerSource); console.log("User pool = ", event.userPoolId); console.log("App client ID = ", event.callerContext.clientId); console.log("User ID = ", event.userName); return event; }; export { handler }
Python
import os def lambda_handler(event, context): # Send post authentication data to Cloudwatch logs print ("Authentication successful") print ("Trigger function =", event['triggerSource']) print ("User pool = ", event['userPoolId']) print ("App client ID = ", event['callerContext']['clientId']) print ("User ID = ", event['userName']) # Return to Amazon Cognito return event

Amazon Cognito trasferisce informazioni sugli eventi alla funzione Lambda. La funzione quindi restituisce a Amazon Cognito lo stesso oggetto evento con eventuali modifiche nella risposta. Nella console Lambda puoi configurare un evento di test con i dati pertinenti al trigger Lambda. Di seguito è riportato un evento di test per questo esempio di codice:

JSON
{ "triggerSource": "testTrigger", "userPoolId": "testPool", "userName": "testName", "callerContext": { "clientId": "12345" }, "response": {} }