Registrar números de teléfono de prueba

En este documento, se muestra cómo registrar números de teléfono con Identity Platform para fines de desarrollo. Esto te permite probar los métodos de autenticación que implican enviar un mensaje SMS, como el acceso con teléfonos y la autenticación de varios factores.

Usar un número de prueba (en lugar de un número real propio) tiene varias ventajas:

  • Se integra sin problemas con los emuladores de iOS y Android.
  • Elimina la sobrecarga de enviar un SMS real.
  • Puedes ejecutar pruebas consecutivas con el mismo número de teléfono sin límites.
  • Puedes escribir pruebas de integración sin que las verificaciones de seguridad bloqueen.
  • No consume tu cuota de uso.

Puedes agregar hasta 10 números de teléfono para desarrollo.

Registrar un número de teléfono de prueba

Siga estos pasos para registrar un número de teléfono de prueba:

  1. Ve a la página Proveedores de identidad en Cloud Console.
    Ir a la página Proveedores de identidad

  2. Si estás probando la autenticación por teléfono, búscala en la lista de proveedores y haz clic en el ícono Edit. Si quieres probar la autenticación de varios factores, selecciona la pestaña SMS de varios factores y, luego, haz clic en Editar.

  3. En números de teléfono para la prueba, ingresa un número de teléfono y un código de verificación a fin de registrarte.

    El número de teléfono debe tener el formato E.164 y no se puede asignar a un usuario existente de Identity Platform. El código de verificación debe tener seis dígitos. Por motivos de seguridad, elige números que sean difíciles de adivinar y evita patrones evidentes como +1 123-456-7890.

  4. Haga clic en Save.

Los números de teléfono de prueba se tratan como números de teléfono reales en Identity Platform, por lo que se deben almacenar de forma segura y rotar en intervalos regulares.

Pruebas manuales

Puedes comenzar de inmediato a usar números de teléfono de prueba en tu app, ya sea directamente o mediante los emuladores de iOS y Android. Cuando accedes con un número de teléfono de prueba, no se envía ningún código de verificación por SMS. En su lugar, ingresa el código que registraste cuando creaste el número de prueba.

Después de acceder, se creará un usuario de Identity Platform con el número de teléfono de prueba. Este usuario tiene el mismo comportamiento y las mismas propiedades que un usuario real, incluido un token de ID válido, lo que significa que puede acceder a todas tus apps y servicios.

Para restringir el acceso de los usuarios de prueba, considera crear una función de prueba con permisos limitados y asignarla mediante reclamaciones personalizadas.

Pruebas de integración

Además de las pruebas manuales, el SDK cliente contiene API que pueden ayudarte a escribir pruebas de integración. Estas API inhabilitan los requisitos de verificación de apps y reCAPTCHA, lo que facilita la omisión con la automatización.

En el siguiente ejemplo, se muestra cómo probar el acceso de un usuario con un número de teléfono:

JavaScript

// Turn off phone app verification.
firebase.auth().settings.appVerificationDisabledForTesting = true;

var phoneNumber = "+16505554567";
var testVerificationCode = "123456";

// Render a fake reCAPTCHA and resolve without app verification.
var appVerifier = new firebase.auth.RecaptchaVerifier('recaptcha-container');
// signInWithPhoneNumber will call appVerifier.verify(), which will resolve
// with a fake reCAPTCHA response.
firebase.auth().signInWithPhoneNumber(phoneNumber, appVerifier)
  .then(function (confirmationResult) {
    // confirmationResult can resolve using testVerificationCode.
    return confirmationResult.confirm(testVerificationCode)
  }).catch(function (error) {
    // Error; SMS not sent
    // ...
  });

Los verificadores de reCAPTCHA visibles e invisibles se comportan de manera diferente cuando la verificación de la app está inhabilitada:

  • reCAPTCHA visible: Para simular un clic de usuario, reCAPTCHA se resuelve automáticamente después de una breve demora.

  • reCAPTCHA invisible: para simular la verificación de la app, el reCAPTCHA se resolverá automáticamente cuando se llame a appVerifier.verify().

Las reCAPTCHAs ficticias activarán sus devoluciones de llamada cuando se resuelvan o se venzan.

¿Qué sigue?

  • Agrega la autenticación de varios factores a la aplicación Web, para iOS o para Android.