Trigger Lambda di post-conferma - 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-conferma

Amazon Cognito richiama questo trigger dopo che un utente registrato conferma il proprio account utente. Nella funzione Lambda di post conferma, puoi inviare messaggi personalizzati o aggiungere richieste API personalizzate. Ad esempio, puoi eseguire query su un sistema esterno e compilare attributi aggiuntivi per l'utente. Amazon Cognito richiama questo trigger solo per gli utenti che effettuano la registrazione al pool di utenti, non per gli account utente creati con le tue credenziali dell'amministratore.

La richiesta contiene gli attributi attuali per l'utente confermato.

Flussi Lambda di post-conferma

Flusso di conferma registrazione client

Flusso di conferma registrazione client

Flusso di conferma registrazione server

Conferma registrazione server

Flusso di conferma password dimenticata

Flusso di conferma password dimenticata

Parametri del trigger Lambda di post-conferma

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", . . . }, "clientMetadata": { "string": "string", . . . } }, "response": {} }

Parametri di richiesta di post-conferma

userAttributes

Una o più coppie chiave-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-conferma. È possibile passare questi dati alla funzione Lambda utilizzando il parametro ClientMetadata nelle seguenti operazioni API: AdminConfirmSignUp, ConfirmForgotPassword, ConfirmSignUp e SignUp.

Parametri di risposta post-conferma

Nella risposta non è prevista la restituzione di alcuna informazione aggiuntiva.

Tutorial sulla conferma degli utenti

La funzione Lambda di post-conferma viene attivata appena dopo l'avvenuta conferma da parte di Amazon Cognito di un nuovo utente. Guarda questi tutorial sulla conferma degli utenti per JavaScript, Android e iOS.

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

Esempio di post conferma

Questa funzione Lambda di esempio invia un messaggio e-mail di conferma all'utente utilizzando Amazon SES. Per ulteriori informazioni, consulta la Guida per gli sviluppatori di Amazon Simple Storage Service.

Node.js
// Import required AWS SDK clients and commands for Node.js. Note that this requires // the `@aws-sdk/client-ses` module to be either bundled with this code or included // as a Lambda layer. import { SES, SendEmailCommand } from "@aws-sdk/client-ses"; const ses = new SES(); const handler = async (event) => { if (event.request.userAttributes.email) { await sendTheEmail( event.request.userAttributes.email, `Congratulations ${event.userName}, you have been confirmed.` ); } return event; }; const sendTheEmail = async (to, body) => { const eParams = { Destination: { ToAddresses: [to], }, Message: { Body: { Text: { Data: body, }, }, Subject: { Data: "Cognito Identity Provider registration completed", }, }, // Replace source_email with your SES validated email address Source: "<source_email>", }; try { await ses.send(new SendEmailCommand(eParams)); } catch (err) { console.log(err); } }; export { handler };

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
{ "request": { "userAttributes": { "email": "user@example.com", "email_verified": true } }, "response": {} }