Como cadastrar e confirmar contas de usuários - 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á.

Como cadastrar e confirmar contas de usuários

Contas de usuários são adicionadas ao grupo de usuários de uma das seguintes formas:

Os usuários que se inscrevem precisam primeiro ser confirmados para que possam fazer login. Usuários importados e criados já estão confirmados, mas eles precisam criar uma senha própria na primeira vez em que fizerem login. As seções a seguir explicam o processo de confirmação e verificação de e-mail e telefone.

Visão geral da confirmação de conta de usuário

O diagrama a seguir ilustra o processo de confirmação:

Quando os usuários inserem o código de confirmação, eles automaticamente verificam o e-mail ou o telefone.

Uma conta de usuário pode estar em qualquer um dos seguintes estados:

Registrado (não confirmado)

O usuário foi registrado com êxito, mas não pode fazer login até que a conta seja confirmada. O usuário está habilitado, mas não está confirmado nesse estado.

Novos usuários que se cadastram começam nesse estado.

Confirmado

A conta de usuário está confirmada e o usuário pode fazer login. Quando um usuário insere um código ou segue um link de e-mail para confirmar sua conta de usuário, o e-mail ou o número de telefone é automaticamente confirmado. O código ou link é válido por 24 horas.

Se a conta de usuário tiver sido confirmada pelo administrador ou por um acionador de pré-cadastro do Lambda, é possível que não haja um número de telefone ou um e-mail verificado associado à conta.

É necessário redefinir a senha

A conta de usuário está confirmada, mas o usuário deve solicitar um código e redefinir sua senha para poder fazer login.

As contas de usuários que são importados por um administrador ou desenvolvedor começam nesse estado.

Forçar alteração de senha

A conta de usuário está confirmada e o usuário pode fazer login usando uma senha temporária. No entanto, no primeiro login, ele deve alterar a senha para um novo valor antes de fazer qualquer coisa.

As contas de usuários que são criadas por um administrador ou desenvolvedor começam nesse estado.

Desabilitado

Antes de excluir uma conta de usuário, você precisa desabilitar o acesso de login para esse usuário.

Como verificar informações de contato no cadastro

Quando novos usuários se cadastram no seu aplicativo, você provavelmente deseja que eles forneçam pelo menos um método de contato. Por exemplo, com as informações de contato dos usuários, você pode:

  • Enviar uma senha temporária quando um usuário decide redefinir a senha.

  • Notificar os usuários quando as informações pessoais ou financeiras deles forem atualizadas.

  • Enviar mensagens promocionais, como descontos ou ofertas especiais.

  • Enviar resumos da conta ou lembretes de faturas.

Para casos de uso como esses, é importante que você envie suas mensagens para um destino verificado. Caso contrário, suas mensagens podem ser enviadas para um endereço de e-mail inválido ou para um número de telefone que foi digitado incorretamente. Ou pior, você pode enviar informações confidenciais para agentes maldosos que se passam por seus usuários.

Para ajudar a garantir que você envie mensagens apenas aos indivíduos certos, configure o grupo de usuários do Amazon Cognito de modo que os usuários tenham que fornecer o seguinte, quando se cadastrarem:

  1. Um endereço de e-mail ou número de telefone.

  2. Um código de verificação que o Amazon Cognito envia para esse endereço de e-mail ou número de telefone. Se tiverem passado 24 horas e o código ou link do seu usuário não for mais válido, chame a operação da ResendConfirmationCodeAPI para gerar e enviar um novo código ou link.

Ao fornecer o código de verificação, um usuário comprova que tem acesso à caixa de correio ou ao telefone que recebeu o código. Depois que o usuário fornece o código, o Amazon Cognito atualiza as informações sobre o usuário no grupo de usuários das seguintes maneiras:

  • Definindo o status do usuário como CONFIRMED.

  • Atualizando os atributos do usuário para indicar que o endereço de e-mail ou número de telefone é verificado.

Para visualizar essas informações, você pode usar o console do Amazon Cognito. Ou você pode usar a operação de AdminGetUser API, o admin-get-user comando com o. AWS CLI ou uma ação correspondente em um dos AWS SDKs.

Se um usuário tiver um método de contato verificado, o Amazon Cognito enviará automaticamente uma mensagem ao usuário quando ele solicitar uma redefinição de senha.

Para configurar o grupo de usuários para exigir a verificação de e-mail ou telefone

Ao confirmar os endereços de e-mail e os números de telefone, você garante que possa entrar em contato com seus usuários. Conclua as etapas a seguir AWS Management Console para configurar seu grupo de usuários para exigir que seus usuários confirmem seus endereços de e-mail ou números de telefone.

nota

Se você ainda não tiver um grupo de usuários em sua conta, consulte Conceitos básicos dos grupos de usuários.

Para configurar o grupo de usuários
  1. Acesse o console do Amazon Cognito. Se solicitado, insira suas AWS credenciais.

  2. No painel de navegação, escolha User Pools (Grupos de usuários). Escolha um grupo de usuários existente na lista ou crie um grupo de usuários.

  3. Escolha a guia Sign-up experience (Experiência de cadastro) e localize Attribute verification and user account confirmation (Verificação de atributo e confirmação da conta do usuário). Escolha Edit (Editar).

  4. Em Verificação e confirmação assistidas pelo Cognito, escolha se deseja Permitir que o Cognito envie mensagens automaticamente para verificar e confirmar. Com essa configuração ativada, o Amazon Cognito envia mensagens para os atributos de contato dos usuários que você escolhe quando um usuário se cadastra ou cria um perfil de usuário. Para verificar os atributos e confirmar os perfis de usuários para login, o Amazon Cognito envia um código ou link em mensagens para os usuários. Os usuários devem inserir o código na interface do usuário para que a aplicação possa confirmá-lo em uma solicitação de API AdminConfirmSignUp e ConfirmSignUp.

    nota

    Também é possível desabilitar Cognito-assisted verification and confirmation (Verificação e confirmação assistidas pelo Cognito) e usar ações de API ou acionadores do Lambda autenticados para verificar atributos e confirmar usuários.

    Se você escolher essa opção, o Amazon Cognito não enviará códigos de verificação quando o usuário se cadastrar. Escolha essa opção se você estiver usando um fluxo de autenticação personalizado que verifica pelo menos um método de contato sem usar os códigos de verificação do Amazon Cognito. Por exemplo, você pode usar um gatilho de pré-cadastro do Lambda que verifica automaticamente endereços de e-mail que pertencem a um domínio específico.

    Se você não verificar as informações de contato dos usuários, talvez eles não consigam usar a aplicação. Lembre-se de que os usuários precisam de informações de contato verificadas para:

    • Redefinir as próprias senhas: quando um usuário seleciona uma opção na sua aplicação que chama a ação de API ForgotPassword, o Amazon Cognito envia uma senha temporária para o endereço de e-mail ou número de telefone do usuário. O Amazon Cognito só enviará essa senha se o usuário tiver pelo menos um método de contato verificado.

    • Fazer login usando um endereço de e-mail ou número de telefone como um alias: se você configurar o grupo de usuários para permitir esses aliases, um usuário só poderá fazer o acesso com um alias se o alias for verificado. Para ter mais informações, consulte Personalização dos atributos de login.

  5. Selecione os Attributes to verify (Atributos para verificar):

    Enviar mensagem de SMS, verificar o número de telefone

    O Amazon Cognito envia um código de verificação em uma mensagem de SMS quando o usuário se cadastra. Selecione essa opção se você normalmente se comunicar com os usuários por SMS. Por exemplo, você precisará usar números de telefone verificados se enviar notificações de entrega, confirmações de compromissos ou alertas. Os números de telefone do usuário serão o atributo verificado quando as contas forem confirmadas; você deve adotar medidas adicionais para verificar e se comunicar com endereços de e-mail do usuário.

    Enviar mensagem de e-mail, verificar endereço de e-mail

    O Amazon Cognito envia um código de verificação por meio de uma mensagem de SMS quando o usuário se cadastra. Escolha essa opção se você normalmente se comunica com os usuários por e-mail. Por exemplo, você precisará usar endereços de e-mail verificados se enviar faturas, resumos de pedidos ou ofertas especiais. Os endereços de e-mail do usuário serão o atributo verificado quando as contas forem confirmadas; você deve adotar medidas adicionais para verificar e se comunicar com números de telefone do usuário.

    Enviar mensagem de SMS se o número de telefone estiver disponível, caso contrário, enviar uma mensagem de e-mail

    Escolha essa opção se você não exigir que todos os usuários tenham o mesmo método de contato verificado. Nesse caso, a página de cadastro em seu aplicativo pode solicitar que os usuários verifiquem apenas o método de contato que preferirem. Quando o Amazon Cognito envia um código de verificação, ele envia o código para o método de contato fornecido na solicitação de SignUp da sua aplicação. Se um usuário fornecer um endereço de e-mail e um número de telefone, e a aplicação fornecer os dois métodos de contato na solicitação de SignUp, o Amazon Cognito enviará um código de verificação somente para o número de telefone.

    Se você exige que os usuários verifiquem um endereço de e-mail e um número de telefone, escolha esta opção. O Amazon Cognito verifica um método de contato quando o usuário se cadastra e sua aplicação precisará verificar o outro método de contato depois que o usuário fizer login. Para ter mais informações, consulte Se você necessitar que os usuários confirmem tanto endereços de e-mail como números de telefone.

  6. Escolha Salvar alterações.

Fluxo de autenticação com verificação por e-mail ou telefone

Se o grupo de usuários exigir que os usuários verifiquem as informações de contato, seu aplicativo deverá facilitar o seguinte fluxo quando um usuário se cadastrar:

  1. Um usuário se cadastra em sua aplicação inserindo um nome de usuário, número de telefone e/ou endereço de e-mail e possivelmente outros atributos.

  2. O serviço do Amazon Cognito recebe a solicitação de cadastro da aplicação. Depois de verificar se a solicitação contém todos os atributos necessários para o cadastro, o serviço conclui o processo de cadastro e envia um código de confirmação para o telefone do usuário (em uma mensagem SMS) ou o e-mail. O código é válido por 24 horas

  3. O serviço retorna para o aplicativo a informação de que o cadastro está concluído e que a conta de usuário está aguardando confirmação. A resposta contém informações sobre o destino para onde o código de confirmação foi enviado. Nesse ponto, a conta de usuário está em um estado não confirmado, e o endereço de e-mail e número de telefone do usuário não estão verificados.

  4. O aplicativo agora pode solicitar que o usuário insira o código de confirmação. O usuário não precisa inserir o código imediatamente. No entanto, o usuário não poderá fazer login até que ele insira o código de confirmação.

  5. O usuário insere o código de confirmação no aplicativo.

  6. A aplicação chama ConfirmSignUp para enviar o código para o serviço do Amazon Cognito, que verifica o código e, se ele estiver correto, definirá a conta de usuário para o estado confirmado. Depois que a conta de usuário for confirmada com êxito, o serviço do Amazon Cognito marcará automaticamente como verificado o atributo que foi usado para a confirmação (e-mail ou número de telefone). A menos que o valor do atributo seja alterado, o usuário não precisará fazer a verificação novamente.

  7. Nesse momento, como a conta de usuário está no estado confirmado, o usuário pode fazer login.

Se você necessitar que os usuários confirmem tanto endereços de e-mail como números de telefone

O Amazon Cognito verifica apenas um método de contato quando um usuário se cadastra. Nos casos em que o Amazon Cognito precise escolher entre confirmar um endereço de e-mail ou um número de telefone, ele opta por confirmar o número de telefone enviando um código de confirmação por SMS. Por exemplo, se você configurar o grupo de usuários para permitir que os usuários verifiquem tanto endereços de e-mail como números de telefone, e se a aplicação fornecer ambos os atributos no cadastro, o Amazon Cognito verificará apenas o número de telefone. Depois que um usuário verifica o número de telefone dele, o Amazon Cognito define o respetivo status como CONFIRMED e ele tem permissão para fazer login na aplicação.

Depois que o usuário fizer login, o aplicativo poderá fornecer a opção de verificar o método de contato que não foi verificado durante o cadastro. Para verificar esse segundo método, o aplicativo chama a ação de API VerifyUserAttribute. Observe que essa ação requer um parâmetro AccessToken e o Amazon Cognito só fornece tokens de acesso para usuários autenticados. Portanto, você poderá verificar o segundo método de contato somente depois que o usuário fizer login.

Se você exigir que os usuários verifiquem tanto endereços de e-mail como números de telefone, faça o seguinte:

  1. Configure o grupo de usuários para permitir que os usuários verifiquem endereços de e-mail ou números de telefone.

  2. No fluxo de cadastro do aplicativo, exija que os usuários forneçam tanto um endereço de e-mail como um número de telefone. Chame a ação de API SignUp e forneça o endereço de e-mail e o número de telefone para o parâmetro UserAttributes. Nesse momento, o Amazon Cognito envia um código de verificação para o telefone do usuário.

  3. Na interface do aplicativo, é apresentada uma página de confirmação onde o usuário insere o código de verificação. Confirme o usuário chamando a ação de API ConfirmSignUp. Nesse ponto, o status do usuário é CONFIRMED, e o número de telefone do usuário é verificado, mas o endereço de e-mail não é verificado.

  4. Apresente a página de login e autentique o usuário chamando a ação de API InitiateAuth. Depois que o usuário é autenticado, o Amazon Cognito retorna um token de acesso para a aplicação.

  5. Chame a ação de API GetUserAttributeVerificationCode. Especifique os seguintes parâmetros na solicitação:

    • AccessToken: o token de acesso retornado pelo Amazon Cognito quando o usuário fez login.

    • AttributeName: especifique "email" como o valor do atributo.

    O Amazon Cognito envia um código de verificação para o endereço de e-mail do usuário.

  6. Apresente uma página de confirmação onde o usuário insere o código de verificação. Quando o usuário enviar o código, chame a ação de API VerifyUserAttribute. Especifique os seguintes parâmetros na solicitação:

    • AccessToken: o token de acesso retornado pelo Amazon Cognito quando o usuário fez login.

    • AttributeName: especifique "email" como o valor do atributo.

    • Code: o código de verificação que o usuário forneceu.

    Nesse ponto, o endereço de e-mail é verificado.

Permitir que os usuários se inscrevam na aplicação, mas mediante confirmação deles como administradores do grupo de usuários

Talvez você não queira que o grupo de usuários envie automaticamente mensagens de verificação no grupo de usuários, mas ainda queira que qualquer pessoa se inscreva em uma conta. Esse modelo deixa espaço, por exemplo, para análise humana de novas solicitações de inscrição e para validação em lote e processamento de inscrições. Você pode confirmar novas contas de usuário no console do Amazon Cognito ou com a operação de API autenticada pelo IAM. AdminConfirmSignUp Você pode confirmar contas de usuário como administrador, independentemente de o grupo de usuários enviar ou não mensagens de verificação.

Você só pode confirmar a inscrição de autoatendimento de um usuário com essa técnica. Para confirmar um usuário que você criou como administrador, crie uma solicitação de AdminSetUserPasswordAPI com Permanent definido comoTrue.

  1. Um usuário se cadastra em sua aplicação inserindo um nome de usuário, número de telefone e/ou endereço de e-mail e possivelmente outros atributos.

  2. O serviço do Amazon Cognito recebe a solicitação de cadastro da aplicação. Após verificar se a solicitação contém todos os atributos necessários para o cadastramento, o serviço conclui o processo e retorna para o aplicativo a informação de que o cadastramento está concluído e aguarda confirmação. Nesse ponto, a conta de usuário está em um estado não confirmado. O usuário não pode fazer login até que a conta esteja confirmada.

  3. Confirme a conta do usuário. Você deve fazer login AWS Management Console ou assinar sua solicitação de API com AWS credenciais para confirmar a conta.

    1. Para confirmar um usuário no console do Amazon Cognito, navegue até a guia Usuários, selecione o usuário que você deseja confirmar e, no menu Ações, selecione Confirmar.

    2. Para confirmar um usuário na AWS API ou na CLI, crie uma solicitação de AdminConfirmSignUpAPI ou admin-confirm-sign-upno. AWS CLI

  4. Nesse momento, como a conta de usuário está no estado confirmado, o usuário pode fazer login.

Computar valores de hash de segredo

Atribua um segredo do cliente ao cliente da aplicação confidencial como prática recomendada. Quando você atribui um segredo de cliente ao cliente da aplicação, as solicitações de API de grupos de usuários do Amazon Cognito devem incluir um hash que inclua o segredo do cliente no corpo da solicitação. Para validar seu conhecimento do segredo do cliente para as operações de API nas listas a seguir, concatene o segredo do cliente com o ID do cliente da aplicação e o nome de usuário; depois, codifique essa string em base64.

Quando a aplicação conecta usuários a um cliente que tem um hash secreto, é possível utilizar o valor de qualquer atributo de login do grupo de usuários como o elemento de nome de usuário do hash secreto. Quando a aplicação solicita novos tokens em uma operação de autenticação com REFRESH_TOKEN_AUTH, o valor do elemento de nome de usuário depende dos seus atributos de login. Quando o grupo de usuários não tiver username como atributo de login, defina o valor do hash secreto do nome do usuário na declaração sub do usuário em seu token de acesso ou ID. Quando username é um atributo de login, defina o valor do nome de usuário de hash secreto da declaração username.

As seguintes APIs de grupos de usuários do Amazon Cognito aceitam um valor de hash de segredo do cliente em um parâmetro SecretHash.

Além disso, as APIs a seguir aceitam um valor de hash do segredo do cliente em um parâmetro SECRET_HASH, seja em parâmetros de autenticação ou em uma resposta de desafio.

Operação de API Parâmetro pai para SECRET_HASH
InitiateAuth AuthParameters
AdminInitiateAuth AuthParameters
RespondToAuthChallenge ChallengeResponses
AdminRespondToAuthChallenge ChallengeResponses

O valor do hash de segredo é um código de autenticação de mensagem baseado em hash (HMAC) de chave codificado em Base64 calculado com o uso da chave secreta de um cliente do grupo de usuários e do nome de usuário mais o ID do cliente na mensagem. O pseudocódigo a seguir mostra como esse valor é calculado. Nesse pseudocode, + indica concatenação, HMAC_SHA256 representa uma função que produz um valor de HMAC usando HmacSHA256, e Base64 representa uma função que produz a versão codificada em Base64 do hash de saída.

Base64 ( HMAC_SHA256 ( "Client Secret Key", "Username" + "Client Id" ) )

Para obter uma visão geral detalhada de como calcular e usar o SecretHash parâmetro, consulte Como soluciono os erros “Não é possível verificar o hash secreto para o cliente” na minha API de grupos de usuários do Amazon Cognito<client-id>? no Centro de AWS Conhecimento.

Você pode usar os exemplos de código a seguir no código da aplicação do lado do servidor.

Shell
echo -n "[username][app client ID]" | openssl dgst -sha256 -hmac [app client secret] -binary | openssl enc -base64
Java
import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; public static String calculateSecretHash(String userPoolClientId, String userPoolClientSecret, String userName) { final String HMAC_SHA256_ALGORITHM = "HmacSHA256"; SecretKeySpec signingKey = new SecretKeySpec( userPoolClientSecret.getBytes(StandardCharsets.UTF_8), HMAC_SHA256_ALGORITHM); try { Mac mac = Mac.getInstance(HMAC_SHA256_ALGORITHM); mac.init(signingKey); mac.update(userName.getBytes(StandardCharsets.UTF_8)); byte[] rawHmac = mac.doFinal(userPoolClientId.getBytes(StandardCharsets.UTF_8)); return Base64.getEncoder().encodeToString(rawHmac); } catch (Exception e) { throw new RuntimeException("Error while calculating "); } }
Python
import sys import hmac, hashlib, base64 username = sys.argv[1] app_client_id = sys.argv[2] key = sys.argv[3] message = bytes(sys.argv[1]+sys.argv[2],'utf-8') key = bytes(sys.argv[3],'utf-8') secret_hash = base64.b64encode(hmac.new(key, message, digestmod=hashlib.sha256).digest()).decode() print("SECRET HASH:",secret_hash)

Como confirmar contas de usuários sem verificar e-mail ou número de telefone

O acionador de pré-cadastro do Lambda pode ser usado para confirmar automaticamente as contas de usuário no momento do cadastro sem a necessidade de um código de confirmação nem da verificação do e-mail ou do número de telefone. Usuários que são confirmados dessa maneira podem imediatamente fazer login sem a necessidade de receber um código.

Você também pode marcar um número de telefone ou e-mail do usuário como verificado por meio desse trigger.

nota

Embora essa abordagem seja conveniente para os usuários quando eles estão dando os primeiros passos, recomendamos a verificação automática de pelo menos um dos dois (e-mail ou número de telefone). Caso contrário, o usuário pode ficar impossibilitado de recuperar a senha caso a esqueça.

Se você não exigir que o usuário receba e insira um código de confirmação no cadastro e não verifique automaticamente o e-mail e o número de telefone no acionador de pré-cadastro do Lambda, você correrá o risco de não ter um endereço de e-mail nem um número de telefone verificado para essa conta de usuário. O usuário pode confirmar o endereço de e-mail ou o número de telefone posteriormente. No entanto, se o usuário esquecer a senha e não tiver um número de telefone nem um endereço de e-mail verificado, ele será bloqueado da conta porque o fluxo de senha esquecida exige um número de telefone ou um e-mail verificado para enviar um código de verificação ao usuário.

Como verificar quando usuários alteram o e-mail ou o número de telefone

Quando um usuário atualiza o endereço de e-mail ou número de telefone na aplicação, o Amazon Cognito envia imediatamente uma mensagem com um código de confirmação ao usuário se você tiver configurado seu grupo de usuários para confirmar automaticamente esse atributo. Depois, o usuário precisa fornecer o código da mensagem de confirmação para a aplicação. Em seguida, seu aplicativo envia o código em uma solicitação de VerifyUserAttributeAPI para concluir a verificação do novo valor do atributo.

Se o grupo de usuários não exigir que os usuários confirmem um endereço de e-mail ou um número de telefone atualizado, o Amazon Cognito alterará imediatamente o valor de um atributo email ou phone_number atualizado e o marcará como não confirmado. Seu usuário não pode fazer login com um e-mail ou número de telefone não confirmado. Ele precisa concluir a confirmação do valor atualizado para poder usar esse atributo como um alias de login.

Se o grupo de usuários exigir que os usuários confirmem um endereço de e-mail ou um número de telefone atualizado, o Amazon Cognito deixará o atributo verificado e definido como seu valor original até que o usuário confirme o novo valor do atributo. Se o atributo for um alias para login, seu usuário poderá entrar com o valor do atributo original até que a confirmação altere o atributo para o novo valor. Para obter mais informações sobre como configurar seu grupo de usuários para exigir que os usuários confirmem atributos atualizados, consulte Configurar a confirmação de e-mail ou telefone.

Você pode usar um acionador de mensagem personalizada do Lambda para personalizar a mensagem de confirmação. Para ter mais informações, consulte Acionador do Lambda de mensagem personalizada. Sempre que o endereço de e-mail ou o número de telefone do usuário não estiverem verificados, sua aplicação deverá informar ao usuário que ele precisa verificar o atributo e fornecer um botão ou um link para que o usuário verifique o novo e-mail ou número de telefone.

Processos de confirmação e verificação para contas de usuários criadas por administradores ou desenvolvedores

As contas de usuários que foram criadas por um administrador ou desenvolvedor já ficam no estado confirmado para que os usuários não precisem inserir um código de confirmação. A mensagem de convite que o serviço do Amazon Cognito envia para esses usuários inclui o nome de usuário e uma senha temporária. O usuário precisa alterar a senha antes de fazer login. Para obter mais informações, consulte Personalizar mensagens de e-mail e de SMS em Como criar contas de usuário como administrador e o trigger de mensagem personalizada em Como personalizar fluxos de trabalho do grupo de usuários com acionadores do Lambda.

Processos de confirmação e verificação para contas de usuários importadas

As contas de usuário criadas usando o recurso de importação de usuários na AWS Management Console CLI ou na API (consulteComo importar usuários para grupos de usuários com base em um arquivo CSV) já estão no estado confirmado, portanto, os usuários não precisam inserir um código de confirmação. Nenhuma mensagem de convite é enviada. No entanto, as contas de usuário importadas exigem que os usuários primeiro solicitem um código chamando a API ForgotPassword e, em seguida, criem uma senha usando o código entregue chamando a API ConfirmForgotPassword antes de fazer login. Para ter mais informações, consulte Solicitação de redefinição de senha aos usuários importados.

Quando a conta de usuário é importada, o número de telefone ou o e-mail do usuário deve ser marcado como confirmado de modo que nenhuma verificação seja necessária quando o usuário fizer login.

Como enviar e-mails enquanto testa sua aplicação

O Amazon Cognito envia e-mails aos usuários quando eles criam e gerenciam suas contas na aplicação cliente para o grupo de usuários. Se você configurar o grupo de usuários para solicitar verificação por e-mail, o Amazon Cognito enviará um e-mail quando:

  • Um usuário se cadastrar.

  • Um usuário atualizar o endereço de e-mail.

  • Um usuário realizar uma ação que chama a ação de API ForgotPassword.

  • Você criar uma conta de usuário como um administrador.

Dependendo da ação que inicia o e-mail, o e-mail contém um código de verificação ou uma senha temporária. Os usuários devem receber esses e-mails e compreender a mensagem. Caso contrário, eles podem não conseguir fazer login e usar seu aplicativo.

Para garantir que os e-mails sejam enviados com êxito e que a mensagem pareça correta, teste na sua aplicação as ações que iniciam entregas de e-mail no Amazon Cognito. Por exemplo, usando a página de cadastro do seu aplicativo, ou usando a ação de API SignUp, é possível iniciar um e-mail cadastrando-se com um endereço de e-mail de teste. Ao testar dessa forma, lembre-se do seguinte:

Importante

Ao usar um endereço de e-mail para testar ações que iniciam e-mails no Amazon Cognito, não use um endereço de e-mail falso (um que não tenha caixa de correio). Use um endereço de e-mail real que receberá o e-mail do Amazon Cognito sem criar uma devolução definitiva.

Uma devolução definitiva ocorre quando o Amazon Cognito deixa de entregar o e-mail para a caixa de correio do destinatário, o que sempre ocorre se a caixa de correio não existe.

O Amazon Cognito limita o número de e-mails que podem ser enviados por AWS contas que incorrem em rejeições difíceis de forma persistente.

Ao testar ações que iniciam e-mails, use um dos seguintes endereços de e-mail para evitar devoluções definitivas:

  • Um endereço para uma conta de e-mail que você possui e usa para testes. Ao usar seu próprio endereço de e-mail, você recebe o e-mail que o Amazon Cognito envia. Com esse e-mail, você pode usar o código de verificação para testar a experiência de cadastro no seu aplicativo. Se você personalizou a mensagem de e-mail para o grupo de usuários, pode verificar se as personalizações estão corretas.

  • O endereço do simulador de caixa postal, success@simulator.amazonses.com. Se você usar o endereço do simulador, o Amazon Cognito enviará o e-mail com êxito, mas você não conseguirá visualizá-lo. Essa opção é útil quando você não precisa usar o código de verificação e não precisa verificar a mensagem de e-mail.

  • O endereço do simulador de caixa postal com a adição de um rótulo arbitrário, como success+user1@simulator.amazonses.com ou success+user2@simulator.amazonses.com. O Amazon Cognito enviará e-mails para esses endereços com êxito, mas você não conseguirá visualizá-los. Essa opção é útil quando você deseja testar o processo de cadastro adicionando vários usuários de teste ao grupo de usuários, e cada usuário de teste tem um endereço de e-mail exclusivo.