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
- Navegue até Console > Conectores > Conectores de Email e SMS
- Selecione um conector SMS apropriado (Twilio, SMS Aero, etc.)
- Configure os parâmetros de conexão.
- 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.
- Teste a funcionalidade do conector para garantir a entrega correta das mensagens
- Consulte Conectores SMS para instruções de configuração específicas do provedor
Passo 2: Ativar SMS para MFA
- Navegue até Console > Autenticação multifatorial
- 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.
- Configure sua política de MFA preferida (obrigatória vs. opcional)
- Salve as alterações de configuração
-
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.
-
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.
-
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
Email + Código de verificação por email + Senha
| MFA: Código de verificação SMS + Códigos de backup

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
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

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
Número de telefone + Código de verificação SMS + Senha
| MFA: Código de verificação SMS + Códigos de backup

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
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

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
Endereço de email + Senha
| MFA: Código de verificação SMS (última vez usado) / OTP de app autenticador / Códigos de backup

Tratamento de erros
-
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
- Código de erro:
-
Código de verificação incorreto
- Código de erro:
verification_code.code_mismatch
- Tratamento: Solicitar ao usuário que digite novamente, limitar tentativas
- Código de erro:
-
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
- Código de erro:
-
Limite de envio excedido
- Código de erro:
connector.rate_limit_exceeded
- Tratamento: Exibir tempo de espera, limitar reenvio
- Código de erro: