Node.js

Probar la implementación

La autenticación silenciosa se valida mejor en un dispositivo real con una SIM + datos móviles. Tenga en cuenta las siguientes consideraciones:

  • A menudo, el emulador no puede proporcionar el contexto de operador/red que requiere la autenticación silenciosa.
  • Si realizas las pruebas en un emulador, es probable que tengas que recurrir a SMS con frecuencia.
  • La autenticación silenciosa suele requerir datos móviles. Si solo dispones de conexión Wi-Fi, es posible que falle (y esa es precisamente la razón por la que hemos implementado una ruta alternativa inmediata).
  • Incluso en dispositivos reales, la autenticación silenciosa puede no estar disponible para todos los números/operadores. Tu aplicación debe tratar el retorno a SMS como algo normal, no excepcional.

Qué hay que verificar al realizar pruebas en el proyecto

En la aplicación, comprueba que el mensaje de estado indique:

  • Verificado mediante autenticación silenciosa
  • O Verified via SMS

Comprueba los registros de backend:

  • Comprueba que el /verification y /check-code se llama a los puntos finales.
  • Desactiva los datos de tu dispositivo y comprueba si /next se está llamando (fallback forzado).
  • Compruebe el /callback eventos.

Al final de la prueba, debería poder confirmarlo:

  • El backend puede crear solicitudes de verificación
  • La aplicación para Android puede:
    • verificación de inicio
    • gestionar la autenticación silenciosa cuando esté disponible
    • retroceder limpiamente a SMS cuando sea necesario
  • Los usuarios pueden completar la verificación sin saber qué es la «autenticación silenciosa»

Problemas comunes y cómo depurarlos

App Stuck Loading

  • Backend inaccesible
  • URL de backend incorrecta
  • Falta android.permission.INTERNET

La autenticación silenciosa nunca funciona

  • Pruebas en un emulador. Asegúrese de utilizar un dispositivo real
  • Dispositivo solo con conexión Wi-Fi
  • El operador no admite la autenticación silenciosa

Los SMS nunca llegan

  • Formato de número de teléfono incorrecto (debe ser E.164)
  • No se ha invocado el recurso de emergencia forzado
  • Límites de frecuencia o intentos anteriores aún activos

/next Fallos

  • Esto no es fatal. En el peor de los casos, la aplicación espera a que se agote el tiempo de espera (por defecto es de 20 segundos).
  • Verify continúa y, finalmente, se revertirá automáticamente.
  • La aplicación debería seguir mostrando la entrada de SMS

¿Y ahora qué?

Ahora dispones de un flujo de autenticación de dos factores (2FA) completo y comprobable, con autenticación silenciosa y un sistema de respaldo por SMS. Podemos llevar nuestro diseño al siguiente nivel:

  • almacenamiento persistente (Redis/Postgres)
  • limitación de tarifas y prevención de abusos
  • sondeo o actualizaciones de estado en tiempo real
  • implementación en producción