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

Los operadores 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.
Usar 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 los operadores 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 los operadores de todo el mundo. A medida que haya nuevos operadores disponibles, podrás usarlos automáticamente sin realizar cambios adicionales en tu app. Consulta la compatibilidad con operadores para obtener una lista de los operadores participantes.
Eliminar 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 apropiación de cuenta.

¿Cómo funciona?

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

  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 ahora tiene 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 tu proyecto de Firebase En la Firebase console, 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.
Verifica 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 lo son, muestra la pantalla explicativa y solicita el consentimiento. Si no es así, usa tu método heredado de verificación del 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 que lo complete.
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.