Pular para o conteúdo principal

Verificação de email para MFA

O Logto oferece funcionalidade de autenticação multifatorial baseada em email (MFA) que aumenta a segurança da conta enviando códigos de verificação únicos para os endereços de email registrados dos usuários. O email MFA serve como um segundo fator de autenticação e pode ser combinado com outros fatores de MFA (como TOTP, passkeys, códigos de backup) para fornecer aos usuários opções flexíveis de autenticação em dois fatores.

Conceitos

A verificação de email é um dos métodos de MFA mais universalmente acessíveis. Ela aproveita a ampla disponibilidade de contas de email para entregar códigos de verificação temporários e únicos diretamente nas caixas de entrada dos usuários. Diferente de autenticadores baseados em aplicativo, que exigem instalação de software adicional, o email MFA utiliza a infraestrutura de email já existente, acessível praticamente a todos os usuários da internet por navegadores, clientes de email ou aplicativos móveis. Isso o torna imediatamente disponível para os usuários sem necessidade de hardware especial ou configuração adicional além de possuir uma conta de email.

Configurar verificação de email para MFA

Passo 1: Configurar conector de email e templates

  1. Navegue até Console > Conectores > Conectores de Email e SMS

  2. Selecione um conector de email apropriado (SendGrid, Mailgun, etc.)

  3. Configure os parâmetros de conexão.

  4. Configure o template de email para MFA com os tipos de uso dedicados:

    • MfaVerification usageType para verificação de MFA.
    • BindMFA usageType para vinculação de MFA.
    • Dica: Serviço de Email Logto fornece templates de email prontos.
  5. Consulte Conectores de email para instruções de configuração específicas do provedor.

Passo 2: Ativar email para MFA

  1. Navegue até Console > Autenticação multifatorial
  2. Ative o fator "Código de verificação por email". Recomenda-se usar o email MFA em combinação com outros fatores de MFA (TOTP, passkeys, SMS, códigos de backup) para reduzir a dependência de um único fator.
  3. Configure sua política de MFA preferida (obrigatória vs. opcional)
  4. Salve as alterações de configuração
Considerações importantes de uso:
  1. Limitação do método de login: Códigos de verificação por email não podem ser usados simultaneamente como método de login (1FA) e como fator de MFA (2FA). Escolha um fluxo de autenticação por email por implementação.

  2. Compatibilidade com método de cadastro: Códigos de verificação por email podem ser usados simultaneamente como método de cadastro e MFA. O Logto irá otimizar o fluxo de registro do usuário final com base na política de MFA selecionada para evitar exigir verificação de email duas vezes para o mesmo endereço.

  3. Compatibilidade com recuperação de senha: Embora códigos de verificação por email possam ser usados simultaneamente para Esqueci minha senha e MFA, essa combinação não é recomendada. Essa configuração reduz a eficácia da segurança do MFA, pois os usuários poderiam potencialmente contornar o MFA usando a verificação de email de recuperação de senha para redefinir a senha, depois usar a nova senha para autenticação primária (1FA) seguida do mesmo método de email para verificação MFA.

Fluxos de configuração do email MFA

O prompt de configuração do MFA pode aparecer durante o registro do usuário ou após o login, dependendo da sua política de MFA configurada. Os usuários também podem ativar o email MFA em sua página de configurações da conta.

O fluxo de configuração do email MFA é afetado pelos seguintes fatores:

  • Número de fatores primários de MFA: Se houver múltiplos fatores primários, o usuário deve escolher um para configurar. Fatores primários são métodos de MFA diferentes de códigos de backup.
  • Códigos de backup ativados: Quando ativados, os códigos de backup são gerados automaticamente após a configuração do fator primário de MFA; o usuário é solicitado a salvá-los.
  • Configuração do identificador de cadastro: Se o endereço de email foi usado como identificador de cadastro e o usuário já o verificou com um código de email durante o registro, o sistema irá automaticamente vincular esse email como fator de MFA e nenhuma verificação adicional será necessária. Se existirem outros fatores primários, a interface exibirá a opção "Adicionar outra verificação em 2 etapas" (o usuário pode pular), indicando claramente que o MFA está ativado.
  • Dados de usuário existentes: Quando um usuário existente configura o MFA após o login, ele deve primeiro concluir a autenticação primária e então prosseguir com a configuração do MFA. Se a conta já contiver um endereço de email primário verificado, a configuração se comporta da mesma forma que o caso do identificador de cadastro acima.

Abaixo estão três cenários comuns de vinculação de email MFA.

Cenário 1: Endereço de email usado apenas para MFA (Fluxo típico)

Quando o endereço de email não é um dos identificadores de cadastro e é usado apenas para MFA, siga a sequência padrão de configuração:

  • Se houver apenas um fator de email MFA, exiba diretamente a interface de configuração desse fator.
  • Se houver múltiplos fatores primários de MFA, exiba uma página de lista "Configurar MFA" e permita que o usuário escolha qual fator configurar.

Exemplos:

Cadastro: Número de telefone + Código de verificação SMS + Senha | MFA: Código de verificação por email + Códigos de backup

Fluxo de configuração de email MFA 1-1

Cadastro: Número de telefone + Código de verificação SMS + Senha | MFA: Código de verificação por email + Passkeys + OTP de aplicativo autenticador + Códigos de backup

Fluxo de configuração de email MFA 1-2

Cenário 2: Email verificado como identificador de cadastro

Se o endereço de email for o identificador de cadastro e o usuário já o tiver verificado com um código de email durante o registro, o sistema irá vincular automaticamente esse email como fator de MFA — nenhuma verificação adicional é necessária.

Exemplos:

Cadastro: Endereço de email + Código de verificação por email + Senha | MFA: Código de verificação por email + Códigos de backup

Fluxo de configuração de email MFA 2

Cenário 3: Email verificado mas múltiplos fatores primários disponíveis

Se o endereço de email foi verificado no cadastro (como identificador de cadastro), mas a conta possui múltiplos fatores primários de MFA (por exemplo, email mais passkeys ou aplicativos autenticadores), a interface irá solicitar ao usuário "Adicionar outra verificação em 2 etapas". O usuário pode optar por adicionar outro fator ou pular; o prompt também comunica que o MFA já está ativado.

Exemplos:

Cadastro: Endereço de email + Código de verificação por email + Senha | MFA: Código de verificação por email + Passkeys + OTP de aplicativo autenticador + Códigos de backup

Fluxo de configuração de email MFA 3

Fluxos de verificação do email MFA

Quando um usuário com email MFA ativado faz login, após concluir com sucesso a autenticação primária (1FA), ele será solicitado a verificar sua identidade usando o código de verificação por email como segundo fator de autenticação (2FA).

Se houver múltiplos fatores de MFA disponíveis, os usuários podem selecionar entre os fatores configurados. O sistema determina qual fator de MFA solicitar primeiro com base na ordem de prioridade especificada em Configurar MFA.

Exemplos:

Login: Número de telefone + Senha | MFA: Código de verificação por email (última vez usado) / OTP de aplicativo autenticador / Códigos de backup

Fluxo de verificação de email MFA

Tratamento de erros

  1. Endereço de email não vinculado

    • Código de erro: session.mfa.mfa_factor_not_enabled
    • Tratamento: Orientar o usuário a vincular o endereço de email primeiro
  2. Código de verificação incorreto

    • Código de erro: verification_code.code_mismatch
    • Tratamento: Solicitar que o usuário digite novamente, limitar tentativas
  3. Código de verificação expirado

    • Código de erro: verification_code.expired
    • Tratamento: Solicitar que o usuário solicite um novo código de verificação
  4. Limite de envio excedido

    • Código de erro: connector.rate_limit_exceeded
    • Tratamento: Exibir tempo de espera, limitar reenvio