Node.js

Teste a implementação

A autenticação silenciosa deve ser testada em um dispositivo real com um cartão SIM e dados móveis. Leve em consideração o seguinte:

  • Muitas vezes, o emulador não consegue fornecer o contexto da operadora/rede necessário para a autenticação silenciosa.
  • Se você fizer o teste em um emulador, espere que haja recorrência frequente ao uso de SMS.
  • A autenticação silenciosa geralmente requer dados móveis. Se você estiver conectado apenas por Wi-Fi, ela pode falhar (e é exatamente por isso que implementamos uma rota alternativa imediata).
  • Mesmo em dispositivos reais, a Autenticação Silenciosa pode não estar disponível para todos os números/operadoras. Seu aplicativo deve tratar o recurso alternativo por SMS como algo normal, e não como uma exceção.

O que verificar ao testar o projeto

No aplicativo, verifique se a mensagem de status indica:

  • Verificado por meio da autenticação silenciosa
  • Ou Verify via SMS

Verifique os logs do backend:

  • Verifique se o /verification e /check-code os endpoints são chamados.
  • Desative os dados móveis do seu aparelho e verifique se /next está sendo chamado (recurso alternativo forçado).
  • Verifique o /callback eventos.

Ao final dos testes, você deverá ser capaz de confirmar:

  • O backend pode criar solicitações de verificação
  • O aplicativo para Android permite:
    • iniciar a verificação
    • lidar com a autenticação silenciosa, quando disponível
    • recorrer ao SMS de forma simples quando necessário
  • Os usuários podem concluir a verificação sem entender o que é a Autenticação Silenciosa

Problemas comuns e como solucioná-los

O aplicativo travou durante o carregamento

  • Backend inacessível
  • URL incorreta do backend
  • Desaparecido android.permission.INTERNET

A autenticação silenciosa nunca funciona

  • Testando em um emulador. Certifique-se de usar um dispositivo real
  • Dispositivo conectado apenas ao Wi-Fi
  • A operadora não oferece suporte à autenticação silenciosa

As mensagens SMS nunca chegam

  • Formato incorreto do número de telefone (deve estar no formato E.164)
  • O fallback forçado não foi chamado
  • Limites de taxa ou tentativas anteriores ainda ativas

/next Falhas

  • Isso não é grave. Na pior das hipóteses, seu aplicativo aguarda o tempo limite (o padrão é de 20 segundos).
  • Verify continua e, eventualmente, será interrompida automaticamente
  • O aplicativo ainda deve exibir a entrada de SMS

E agora?

Agora você tem um fluxo de autenticação de duas etapas (2FA) completo e testável, com autenticação silenciosa e recurso de fallback por SMS. Podemos levar nosso projeto para o próximo nível:

  • armazenamento persistente (Redis/Postgres)
  • limitação de taxa e prevenção de abusos
  • sondagens ou atualizações de status em tempo real
  • implantação em produção