Acionador do Lambda de pós-confirmação - Amazon Cognito

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Acionador do Lambda de pós-confirmação

O Amazon Cognito invoca esse acionador depois que um usuário cadastrado confirma a conta de usuário. Na função do Lambda de pós-confirmação, você pode enviar mensagens personalizadas ou adicionar solicitações de API personalizadas. Por exemplo, é possível consultar um sistema externo e preencher atributos adicionais para o usuário. O Amazon Cognito invoca esse acionador somente para os usuários que se cadastram no grupo de usuários, não para contas de usuário criadas com as credenciais de administrador.

A solicitação contém os atributos atuais do usuário confirmado.

Fluxos do Lambda de pós-confirmação

Fluxo de confirmação de inscrição do cliente

Fluxo de confirmação de inscrição do cliente

Fluxo de confirmação de cadastro do servidor

Confirmação de cadastro do servidor

Fluxo de confirmação de senha esquecida

Fluxo de confirmação de senha esquecida

Parâmetros do acionador do Lambda de pós-confirmação

A solicitação que o Amazon Cognito transmite para essa função do Lambda é uma combinação dos parâmetros abaixo e dos parâmetros comuns que o Amazon Cognito adiciona a todas as solicitações.

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

Parâmetros de solicitação de pós-confirmação

userAttributes

Um ou mais pares de chave-valor que representam atributos de usuário.

clientMetadata

Um ou mais pares de chave-valor que você pode fornecer como entrada personalizada para a função Lambda especificada para o acionador de pós-confirmação. É possível passar esses dados para a função Lambda usando o parâmetro ClientMetadata nas seguintes ações de API: AdminConfirmSignUp, ConfirmForgotPassword, ConfirmSignUp e SignUp.

Parâmetros de resposta de pós-confirmação

Nenhuma informação de retorno adicional é esperada na resposta.

Tutoriais de confirmação de usuário

A função Lambda de pós-confirmação é acionada logo depois que o Amazon Cognito confirma um novo usuário. Consulte esses tutoriais de confirmação do usuário para JavaScript, Android e iOS.

Plataforma Tutorial
SDK de identidade para JavaScript Confirmar usuários com JavaScript
SDK de identidade para Android Confirmar usuários com Android
SDK de identidade para iOS Confirmar usuários com iOS

Exemplo de pós-confirmação

Esse exemplo de função Lambda envia um e-mail de confirmação para o usuário usando o Amazon SES. Para obter mais informações, consulte o Guia do desenvolvedor do 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 };

O Amazon Cognito transmite informações de evento para a função do Lambda. A função retorna o mesmo objeto de evento para o Amazon Cognito, com as alterações na resposta. No console do Lambda, você pode configurar um evento de teste com dados relevantes para o acionador do Lambda. A seguir, é mostrado um evento de teste para esse exemplo de código:

JSON
{ "request": { "userAttributes": { "email": "user@example.com", "email_verified": true } }, "response": {} }