Pular para o conteúdo principal

Verificação SMS para MFA

O Logto oferece funcionalidade de 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 aos usuários opções flexíveis de autenticação em dois fatores.

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 para os usuários sem necessidade de configuração.

Configurar verificação SMS para MFA

Passo 1: Configurar conector SMS e 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: Ativar SMS para MFA

  1. Navegue até Console > Autenticação multifatorial
  2. Ative o fator "Código de verificação SMS". Recomenda-se usar o 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 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 SMS.

  2. Compatibilidade do método de cadastro: Códigos de verificação 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 verificação SMS duas vezes para o mesmo número.

  3. Compatibilidade com recuperação de senha: Embora códigos de verificação SMS possam ser usados simultaneamente para Esqueci a 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 SMS de esqueci a 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. Os usuários também podem ativar o SMS MFA em sua página de configurações da conta.

O fluxo de configuração do SMS 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 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 então 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 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 SMS + Passkeys + OTP de app 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 SMS + Senha | MFA: Código de verificação 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 (ex: SMS mais passkeys ou apps 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 SMS + Senha | MFA: Código de verificação SMS + Passkeys + OTP de app 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 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 SMS (última vez usado) / OTP de app 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: Orientar 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: Solicitar ao usuário que digite novamente, limitar tentativas
  3. Código de verificação expirado

    • Código de erro: verification_code.expired
    • Tratamento: Solicitar 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: Exibir tempo de espera, limitar reenvio