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á.
Migrar o acionador do Lambda do usuário
Quando um usuário não existir no grupo de usuários no momento de login com senha, ou no fluxo de senha esquecida, o Amazon Cognito invocará esse acionador. Depois que a função Lambda retornar com êxito, o Amazon Cognito criará o usuário no grupo de usuários. Para obter detalhes sobre o fluxo de autenticação com o acionador do Lambda de migração de usuários, consulte Como importar usuários para grupos de usuários com um acionador Lambda de migração de usuário.
Para migrar os usuários de seu diretório de usuários existente para grupos de usuários do Amazon Cognito no momento do login ou durante o fluxo de senha esquecida, siga esse acionador do Lambda.
Tópicos
Fontes do acionador do Lambda de migrar usuário
Valor função do LambdaSource | Evento |
---|---|
UserMigration_Authentication |
Migração de usuários no login. |
UserMigration_ForgotPassword |
Migração de usuários durante o fluxo de esquecimento de senha. |
Parâmetros do acionador do Lambda de migrar usuário
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.
Parâmetros de solicitação de migrar usuário
- userName
-
O nome de usuário que o usuário insere no login.
- password
-
A senha que o usuário insere no login. O Amazon Cognito não envia esse valor em uma solicitação iniciada por um fluxo de senha esquecida.
- validationData
-
Um ou mais pares de chave-valor que contêm os dados de validação na solicitação de login do usuário. É possível passar esses dados para a função do Lambda usando o parâmetro ClientMetadata nas ações de API InitiateAuth e AdminInitiateAuth.
- clientMetadata
-
Um ou mais pares de chave-valor que você pode fornecer como entrada personalizada à função do Lambda para o acionador de migração do usuário. Para passar esses dados para a função do Lambda, você pode usar o parâmetro ClientMetadata nas ações de API AdminRespondToAuthChallenge e ForgotPassword.
Parâmetros de resposta de migrar usuário
- userAttributes
-
Este campo é obrigatório.
Esse campo deve conter um ou mais pares de nome-valor que o Amazon Cognito armazena no perfil de usuário no grupo de usuários e usa como atributos de usuário. Você pode incluir atributos de usuário padrão e personalizados. Os atributos personalizados exigem o prefixo
custom:
para diferenciá-los dos atributos padrão. Para obter mais informações, consulte Atributos personalizados.nota
Para redefinir uma senha no fluxo de senha esquecida, o usuário deverá ter um e-mail verificado ou um número de telefone verificado. O Amazon Cognito envia uma mensagem contendo um código de redefinição de senha para o e-mail ou o número de telefone nos atributos do usuário.
Atributos Requisito Todos os atributos marcados como necessários quando o grupo de usuários foi criado Se os atributos necessários estiverem ausentes durante a migração, o Amazon Cognito usará valores padrão. username
Obrigatório se você tiver configurado o grupo de usuários com atributos de alias além do nome de usuário para login e se o usuário tiver inserido um alias válido como nome de usuário. Esse valor de alias pode ser um endereço de e-mail, nome de usuário preferido ou número de telefone.
Se a solicitação e o grupo de usuários atenderem aos requisitos de alias, a resposta de sua função deverá atribuir o parâmetro
username
recebido para um atributo alias. Além disso, a resposta deve atribuir seu próprio valor ao atributousername
. Se o grupo de usuários não atender às condições necessárias para mapear ousername
recebido para um alias, o parâmetrousername
na resposta deverá corresponder exatamente à solicitação ou ser omitido.nota
username
deve ser exclusivo no grupo de usuários. - finalUserStatus
-
Você pode definir esse parâmetro como
CONFIRMED
para confirmar automaticamente seus usuários para que eles possam fazer login com a senha anterior. Quando você define um usuário comoCONFIRMED
, ele não precisa fazer nada além para fazer login. Se você não definir esse atributo comoCONFIRMED
, ele será definido comoRESET_REQUIRED
.Um
finalUserStatus
doRESET_REQUIRED
significa que o usuário deve alterar a senha imediatamente após a migração no login, e sua aplicação cliente deve processar oPasswordResetRequiredException
durante o fluxo de autenticação.nota
O Amazon Cognito não impõe a política de intensidade de senha que você configurou para o grupo de usuários durante a migração usando o acionador do Lambda. Se a senha não atender à respectiva política que você configurou, o Amazon Cognito ainda assim a aceitará para que ela possa continuar a migrar o usuário. Para impor a política de intensidade da senha e rejeitar senhas que não atendam à política, valide a intensidade da senha no seu código. Depois, se a senha não atender à política, defina finalUserStatus como
RESET_REQUIRED
. - messageAction
-
Você pode definir esse parâmetro como
SUPPRESS
para se recusar a enviar a mensagem de boas-vindas que o Amazon Cognito geralmente envia Amazon novos usuários. Se sua função não retornar esse parâmetro, o Amazon Cognito enviará a mensagem de boas-vindas. - desiredDeliveryMediums
-
Esse parâmetro pode ser definido como
EMAIL
para enviar a mensagem de boas-vindas por e-mail ou comoSMS
para enviar a mensagem de boas-vindas por SMS. Se sua função não retornar esse parâmetro, o Amazon Cognito enviará a mensagem de boas-vindas por SMS. - forceAliasCreation
-
Se o parâmetro estiver definido como
TRUE
e o número de telefone ou o endereço de e-mail no parâmetro UserAttributes já existir como alias com um usuário diferente, a chamada de API migrará o alias do usuário anterior para o usuário recém-criado. O usuário anterior não pode mais fazer login usando esse alias.Se você definir esse parâmetro como
FALSE
e o alias existir, o Amazon Cognito não migrará o usuário e retornará um erro para a aplicação cliente.Se você não retornar esse parâmetro, o Amazon Cognito assumirá que seu valor é “false”.
- enableSMSMFA
-
Defina esse parâmetro como
true
para exigir que o usuário migrado conclua a autenticação multifator (MFA) por mensagem de texto SMS para fazer login. Seu grupo de usuários deve ter a MFA habilitada. Os atributos do usuário nos parâmetros da solicitação devem incluir um número de telefone; do contrário, a migração desse usuário falhará.
Exemplo: migrar um usuário com uma senha existente
Esse exemplo de função Lambda migra o usuário com uma senha existente e suprime a mensagem de boas-vindas do Amazon Cognito.