Pular para o conteúdo principal

Verificação por SMS para MFA

O Logto oferece suporte à autenticação multifatorial (MFA) baseada em SMS, que aumenta a segurança da conta enviando códigos de verificação únicos para os números de telefone registrados dos usuários. O SMS 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 opções flexíveis de autenticação em dois fatores aos usuários.

Conceitos

A verificação por SMS, também chamada de verificação de número de telefone, é um dos métodos de MFA mais acessíveis. Ela aproveita a ubiquidade dos telefones celulares para entregar códigos de verificação temporários e únicos diretamente aos dispositivos dos usuários via mensagens de texto. Diferente dos autenticadores baseados em aplicativo, que exigem instalação de software adicional, o SMS MFA utiliza a infraestrutura de mensagens já existente em todo dispositivo móvel, tornando-o imediatamente disponível aos usuários sem necessidade de configuração.

Configurar verificação por SMS para MFA

Passo 1: Configure o conector SMS e os templates

  1. Navegue até Console > Conectores > Conectores de Email e SMS
  2. Selecione um conector SMS apropriado (Twilio, SMS Aero, etc.)
  3. Configure os parâmetros de conexão.
  4. Configure o template SMS para MFA com os tipos de uso dedicados.
    • MfaVerification usageType para verificação de MFA.
    • BindMFA usageType para vinculação de MFA.
  5. Teste a funcionalidade do conector para garantir a entrega correta das mensagens
  6. Consulte Conectores SMS para instruções de configuração específicas do provedor

Passo 2: Ative SMS para MFA

  1. Navegue até Console > Autenticação multifatorial
  2. Ative o fator "Código de verificação por SMS". Recomenda-se usar SMS MFA em combinação com outros fatores de MFA (TOTP, passkeys, 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 SMS 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 implementação de SMS.

  2. Compatibilidade com método de cadastro: Códigos de verificação por SMS podem ser usados simultaneamente tanto para método de cadastro quanto para MFA. O Logto irá otimizar o fluxo de registro do usuário final com base na política de MFA selecionada para evitar exigir a verificação por SMS duas vezes para o mesmo número de telefone.

  3. Compatibilidade com recuperação de senha: Embora códigos de verificação por SMS possam ser usados simultaneamente tanto para Esqueci minha senha quanto para 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 por SMS 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 SMS para verificação MFA.

Fluxos de configuração do SMS 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.

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

  • Quantidade 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 número de telefone foi usado como identificador de cadastro e o usuário já o verificou com um código SMS durante o registro, o sistema irá automaticamente vincular esse número 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 depois prosseguir com a configuração do MFA. Se a conta já contiver um número de telefone 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 do SMS MFA.

Cenário 1: Número de telefone usado apenas para MFA (Fluxo típico)

Quando o número de telefone 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 SMS MFA, exiba diretamente a interface de configuração para esse 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: Email + Código de verificação por email + Senha | MFA: Código de verificação por SMS + Códigos de backup

Fluxo de configuração SMS MFA 1-1

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

Fluxo de configuração SMS MFA 1-2

Cenário 2: Telefone verificado como identificador de cadastro

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

Exemplos:

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

Fluxo de configuração SMS MFA 2

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

Se o número de telefone foi verificado no cadastro (como identificador de cadastro), mas a conta possui múltiplos fatores primários de MFA (por exemplo, SMS 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: Número de telefone + Código de verificação por SMS + Senha | MFA: Código de verificação por SMS + Passkeys + OTP de aplicativo autenticador + Códigos de backup

Fluxo de configuração SMS MFA 3

Fluxos de verificação do SMS MFA

Quando um usuário com SMS 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 SMS 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: Endereço de email + Senha | MFA: Código de verificação por SMS (última vez usado) / OTP de aplicativo autenticador / Códigos de backup

Fluxo de verificação SMS MFA

Tratamento de erros

  1. Número de telefone não vinculado

    • Código de erro: session.mfa.mfa_factor_not_enabled
    • Tratamento: Oriente o usuário a vincular o número de telefone primeiro
  2. Código de verificação incorreto

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

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

    • Código de erro: connector.rate_limit_exceeded
    • Tratamento: Exiba o tempo de espera, limite o reenvio