Registrar números de teléfono de prueba

En este documento se explica cómo registrar números de teléfono en Identity Platform para realizar tareas de desarrollo. De esta forma, puedes probar métodos de autenticación que impliquen el envío de un mensaje SMS, como el inicio de sesión con el teléfono y la autenticación multifactor.

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

  • Se integra perfectamente 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 que se limite la velocidad.
  • Puedes escribir pruebas de integración sin que te bloqueen las comprobaciones de seguridad.
  • No consume tu cuota de uso.

Puedes registrar hasta 10 números de teléfono para las tareas de desarrollo.

Registrar un número de teléfono de prueba

Para registrar un número de teléfono de prueba, sigue estos pasos:

  1. Ve a la página Proveedores de identidades de la consola de Google Cloud .
    Ve a la página Proveedores de identidades

  2. Si estás probando la autenticación por teléfono, localízala en la lista de proveedores y haz clic en el icono Editar. Si estás probando la autenticación multifactor, selecciona la pestaña SMS multifactor y, a continuación, haz clic en Editar.

  3. En Números de teléfono para pruebas, introduce un número de teléfono y un código de verificación para registrarte.

    El número de teléfono debe estar en formato E.164 y no puede estar asignado a un usuario 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 obvios, como +1 123-456-7890.

  4. Haz clic en Guardar.

Identity Platform trata los números de teléfono de prueba como números de teléfono reales, por lo que debes almacenarlos de forma segura y cambiarlos a intervalos regulares.

Pruebas manuales

Puedes empezar a usar números de teléfono de prueba en tu aplicación de inmediato, ya sea directamente o mediante los emuladores de iOS y Android. Cuando inicies sesión con un número de teléfono de prueba, no se enviará ningún código de verificación por SMS. En su lugar, introduce el código que registraste al crear el número de prueba.

Después de iniciar sesión, se crea 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 aplicaciones y servicios.

Para restringir el acceso de los usuarios de prueba, puedes crear un rol de prueba con permisos limitados y asignarlo mediante reivindicaciones personalizadas.

Pruebas de integración

Además de las pruebas manuales, el SDK de cliente contiene APIs que pueden ayudar a escribir pruebas de integración. Estas APIs inhabilitan los requisitos de reCAPTCHA y de verificación de aplicaciones, lo que hace que sea más fácil eludirlos con la automatización.

En el siguiente ejemplo se muestra cómo probar el inicio de sesión 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 simulado visibles e invisibles se comportan de forma diferente cuando la verificación de aplicaciones está inhabilitada:

  • reCAPTCHA visible: para simular el clic de un usuario, reCAPTCHA se resolverá automáticamente tras un breve retraso.

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

Las reCAPTCHAs simuladas seguirán activando sus devoluciones de llamada cuando se resuelvan o caduquen.

Siguientes pasos

  • Añade la autenticación multifactor a tu aplicación web, iOS o Android.