Verificación del número de teléfono con Firebase

Firebase Phone Number Verification (Firebase PNV) es un método rápido y seguro para verificar los números de teléfono de los usuarios. A diferencia de la verificación basada en SMS, que requiere que los usuarios reciban e ingresen un código de un mensaje de texto, Firebase PNV funciona obteniendo el número de teléfono de la SIM del dispositivo directamente del operador conectado con un solo toque. Esto reduce la fricción para el usuario, mejora la confiabilidad al no depender de la entrega de mensajes SMS y elimina los vectores de abuso que se suelen explotar cuando se usan SMS.

Funciones clave

Las empresas de transporte son la fuente de información Con Firebase PNV, Google obtiene el número de teléfono verificado de la SIM directamente del operador, lo que te indica qué número se encuentra en el dispositivo que ejecuta tu app en este momento. Los códigos OTP por SMS solo pueden indicarte si el usuario tiene acceso al número de teléfono.
Usa la herramienta de forma independiente o con un proveedor de identidad Puedes usar Firebase PNV por sí solo como un método de verificación de números de teléfono confiable y fácil de integrar, o bien puedes usarlo como un método de acceso con Firebase Authentication o tu propio sistema de autenticación.
Usar automáticamente las empresas de transporte disponibles Puedes usar el SDK de Firebase PNV para detectar la compatibilidad y recurrir a otro método, como SMS, cuando Firebase PNV aún no sea compatible con el dispositivo. Firebase PNV estará disponible de forma gradual para las empresas de transporte de todo el mundo. A medida que haya nuevas empresas de transporte disponibles, podrás usarlas automáticamente sin realizar cambios adicionales en tu app. Consulta Compatibilidad con empresas de transporte para obtener una lista de las empresas de transporte participantes.
Elimina los ataques de phishing por SMS Dado que Firebase PNV no envía mensajes SMS para verificar un número de teléfono, los usuarios no esperan recibir mensajes de tu app con contraseñas de un solo uso, que se pueden usar en ataques de usurpación de cuentas.

¿Cómo funciona?

Cuando realizas una solicitud de verificación del número de teléfono, Firebase PNV:

  1. Verifica que el dispositivo y el operador de telefonía celular del usuario sean compatibles.

  2. Obtiene el consentimiento del usuario para compartir su número de teléfono con tu app.

  3. Funciona con el operador de telefonía celular asignado a la SIM para obtener el número de teléfono verificado.

  4. Devuelve a tu app un token firmado que contiene el número de teléfono verificado, por lo general, entre 1 y 3 segundos después del consentimiento del usuario.

Después de verificar la firma de este token, tu app tendrá el número de teléfono verificado del usuario. También puedes usar este token como parte de un flujo de acceso basado en números de teléfono, por ejemplo, con Firebase Authentication o tu propio backend de autenticación.

Ruta de implementación

Configura el proyecto de Firebase En la consola de Firebase, completa los pasos de incorporación para habilitar la facturación y la API de Firebase Phone Number Verification para tu proyecto de Firebase.
Instala el SDK y, luego, inicialízalo Instala el SDK de Firebase PNV para la plataforma de tu app. El SDK requiere que se haya completado correctamente la verificación de marca de OAuth.
Diseña una pantalla explicativa (Recomendado) Antes de activar la IU formal de consentimiento del usuario, explícale que debe seleccionar una SIM para recuperar el número y cómo este proceso es más rápido y seguro que los OTP por SMS. Esto reducirá la confusión y capacitará a los usuarios sobre el nuevo flujo de verificación del número de teléfono.
Cómo verificar la compatibilidad con el dispositivo y el operador (Recomendado) Cuando se inicie tu app, usa el SDK de Firebase PNV para verificar que el dispositivo y su operador de telefonía celular sean compatibles con Firebase PNV. Si es compatible, muestra la pantalla de explicación y solicita el consentimiento. Si no es así, usa tu método heredado de verificación de número de teléfono, como SMS.
Solicita el número de teléfono verificado Usa el SDK de Firebase PNV para solicitar el número de teléfono verificado del dispositivo al operador de telefonía celular. Esto activa el consentimiento del usuario, que tu pantalla explicativa ayuda a preparar al usuario para completar.
Verifica el token de respuesta En la respuesta del servicio Firebase PNV, obtienes un token firmado que puedes enviar al backend de tu app. En el backend, verifica la firma del token. Si la firma es válida, el token contiene el número de teléfono verificado del dispositivo.

Próximos pasos

  • Firebase PNV es un servicio facturado que genera un costo por verificación. Consulta la página de Precios para obtener más detalles.
  • Consulta la guía Comienza a usar Android para obtener información sobre cómo usar Firebase PNV en una app para Android.