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 pré-cadastro
Talvez você queira personalizar o processo de inscrição em grupos de usuários que têm opções de inscrição por autoatendimento. Alguns usos comuns do gatilho de pré-inscrição são realizar análises e registros personalizados de novos usuários, aplicar padrões de segurança e governança ou vincular usuários de um IdP de terceiros a um perfil de usuário consolidado. Você também pode ter usuários confiáveis que não precisam passar por verificação e confirmação.
Pouco antes de o Amazon Cognito cadastrar um novo usuário local ou federado, ele ativa a função Lambda de pré-inscrição. Como parte do processo de inscrição, você pode usar essa função para analisar o evento de login com lógica personalizada e modificar ou negar o novo usuário.
Tópicos
- Fluxos do Lambda de pré-cadastro
- Parâmetros do acionador do Lambda de pré-cadastro
- Tutoriais de cadastro
- Exemplo de pré-cadastro: confirmação automática de usuários em um domínio registrado
- Exemplo de pré-cadastro: confirmação e verificação automáticas de todos os usuários
- Exemplo de pré-cadastro: negar cadastro se o nome de usuário tiver menos de cinco caracteres
Fluxos do Lambda de pré-cadastro
Fluxo de cadastro do cliente
Fluxo de cadastro do servidor
A solicitação inclui dados de validação do cliente. Esses dados vêm dos ValidationData
valores passados para o grupo de usuários SignUp e AdminCreateUser API os métodos.
Parâmetros do acionador do Lambda de pré-cadastro
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 pré-cadastro
- userAttributes
-
Um ou mais pares de nome-valor que representam atributos de usuário. Os nomes de atributo são as chaves.
- validationData
-
Um ou mais pares de chave-valor com dados de atributos do usuário que a aplicação passou para o Amazon Cognito na solicitação para criar um usuário. Envie essas informações para sua função Lambda no ValidationData parâmetro de sua solicitação AdminCreateUserou SignUpAPI.
O Amazon Cognito não define seus ValidationData dados como atributos do usuário que você cria. ValidationData são informações temporárias do usuário que você fornece para fins de seu gatilho Lambda de pré-inscrição.
- clientMetadata
-
Um ou mais pares de chave-valor que você pode fornecer como entrada personalizada para a função Lambda especificada para o acionamento de pré-cadastro. Você pode passar esses dados para sua função Lambda usando o ClientMetadata parâmetro nas seguintes API ações: AdminCreateUser, AdminRespondToAuthChallengeForgotPassword, e. SignUp
Parâmetros de resposta de pré-cadastro
Na resposta, você pode definir autoConfirmUser
para true
se quiser confirmar o usuário automaticamente. Você pode definir autoVerifyEmail
como true
para verificar o e-mail do usuário automaticamente. Você pode definir autoVerifyPhone
como true
para verificar automaticamente o número de telefone do usuário.
nota
Parâmetros autoVerifyPhone
de resposta autoVerifyEmail
e autoConfirmUser
são ignorados pelo Amazon Cognito quando a função Lambda de pré-inscrição é acionada pelo. AdminCreateUser
API
- autoConfirmUser
-
Definido como
true
para confirmar o usuário automaticamente; do contrário, defina-o comofalse
. - autoVerifyEmail
-
Defina como
true
para especificar como verificado o e-mail de um usuário que está se cadastrando ou, do contrário, defina comofalse
. SeautoVerifyEmail
for definido comotrue
, o atributoemail
deverá ter um valor válido, não nulo. Caso contrário, ocorrerá um erro e o usuário não poderá concluir o cadastro.Se o atributo
email
for selecionado como um alias, será criado um alias para o e-mail do usuário quandoautoVerifyEmail
for definido. Se já houver um alias com esse endereço de e-mail, ele será movido para o novo usuário e o endereço de e-mail do usuário anterior será marcado como não verificado. Para obter mais informações, consulte Personalização dos atributos de login. - autoVerifyPhone
-
Defina como
true
para definir como verificado o número de telefone de um usuário que está se cadastrando; do contrário, defina-o comofalse
. SeautoVerifyPhone
for definido comotrue
, o atributophone_number
deverá ter um valor válido, não nulo. Caso contrário, ocorrerá um erro e o usuário não poderá concluir o cadastro.Se o atributo
phone_number
for selecionado como um alias, este será criado para o número de telefone do usuário quandoautoVerifyPhone
for definido. Se um alias com esse número de telefone já existir, o alias será movido para o novo usuário e o número de telefone do usuário anterior será marcado como não verificado. Para obter mais informações, consulte Personalização dos atributos de login.
Tutoriais de cadastro
A função Lambda de pré-cadastro é acionada antes que o usuário se cadastre. Veja esses tutoriais de inscrição no Amazon Cognito para JavaScript Android e iOS.
Plataforma | Tutorial |
---|---|
JavaScript Identidade SDK | Inscrever usuários com JavaScript |
Identidade Android SDK | Inscrever usuários com Android |
Identidade iOS SDK | Inscrever usuários com iOS |
Exemplo de pré-cadastro: confirmação automática de usuários em um domínio registrado
Você pode usar o acionador do Lambda de pré-cadastro para adicionar lógica personalizada para validar novos usuários que se cadastram em seu grupo de usuários. Este é um exemplo de JavaScript programa que mostra como inscrever um novo usuário. Ele invoca um acionador do Lambda de pré-cadastro como parte da autenticação.
Esse é um exemplo de acionador do Lambda chamado logo antes do cadastro com o acionador do Lambda de pré-cadastro do grupo de usuários. Ele usa um atributo personalizado custom:domain para confirmar automaticamente novos usuários de um determinado domínio de e-mail. Os novos usuários que não estiverem no domínio personalizado serão adicionados ao seu grupo de usuários, mas não automaticamente confirmados.
O Amazon Cognito transmite informações de evento para a função 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:
Exemplo de pré-cadastro: confirmação e verificação automáticas de todos os usuários
Este exemplo confirma todos os usuários e define os atributos email
e phone_number
do usuário como verificados, se o atributo estiver presente. Além disso, se o alias estiver habilitado, eles serão criados para phone_number
e email
quando a verificação automática for definida.
nota
Se um alias com o mesmo número de telefone já existir, o alias será movido para o novo usuário e o phone_number
do usuário anterior será marcado como não verificado. O mesmo se aplica para endereços de e-mail. Para evitar que isso aconteça, você pode usar os grupos de usuários ListUsers APIpara ver se há um usuário existente que já está usando o número de telefone ou endereço de e-mail do novo usuário como alias.
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:
Exemplo de pré-cadastro: negar cadastro se o nome de usuário tiver menos de cinco caracteres
Esse exemplo verifica a extensão do nome de usuário em uma solicitação de cadastro. O exemplo retornará um erro se o usuário tiver inserido um nome com menos de cinco caracteres.
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: