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 métodos de autenticación que implican enviar un mensaje SMS, como acceso con teléfono y autenticación de varios factores.
Usar un número de prueba (en lugar de un número real de tu propiedad) tiene varios beneficios:
- Se integra sin problemas a 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 la cuota de uso.
Puedes agregar hasta 10 números de teléfono para desarrollo.
Registra un número de teléfono de prueba
Sigue estos pasos para registrar un número de teléfono de prueba:
Ve a la página Proveedores de identidad en la consola de Google Cloud.
Ir a la página de proveedores de identidadSi deseas probar la autenticación telefónica, ubícala en la lista de proveedores y haz clic en el ícono Edit. Si pruebas la autenticación de varios factores, selecciona la pestaña SMS de varios factores y, luego, haz clic en Editar.
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 usar el formato E.164 y no puede asignarse a un usuario existente de Identity Platform. El código de verificación debe tener seis dígitos. Por razones de seguridad, elige números que sean difíciles de adivinar y evita patrones evidentes, como
+1 123-456-7890
.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 crea un usuario de Identity Platform con el número de teléfono de prueba. Este usuario tiene el mismo comportamiento y 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, considera crear una función de prueba con permisos limitados y asignarla a través de reclamaciones personalizadas.
Pruebas de integración
Además de las pruebas manuales, el SDK de cliente contiene las APIs que pueden ayudar 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 que un usuario acceda 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()
.
Los reCAPTCHA ficticios aún activarán sus devoluciones de llamada cuando se resuelvan o venzan.