Registrazione dei numeri di telefono di prova
Questo documento mostra come registrare i numeri di telefono con Identity Platform a scopo di sviluppo. In questo modo puoi testare i metodi di autenticazione che prevedono l'invio di un messaggio SMS, come l'accesso con lo smartphone e l'autenticazione a più fattori.
L'utilizzo di un numero di test (anziché di un numero reale di tua proprietà) presenta diversi vantaggi:
- Si integra perfettamente con gli emulatori iOS e Android.
- Elimina l'overhead dell'invio di un SMS effettivo.
- Puoi eseguire test consecutivi con lo stesso numero di telefono senza limitazioni.
- Puoi scrivere test di integrazione senza essere bloccato dai controlli di sicurezza.
- Non consuma la quota di utilizzo.
Puoi registrare fino a 10 numeri di telefono per lo sviluppo.
Registrazione di un numero di telefono di test
Per registrare un numero di telefono di test:
Vai alla pagina Provider di identità nella console Google Cloud .
Vai alla pagina Provider di identitàSe stai testando l'autenticazione tramite telefono, individua l'opzione nell'elenco dei provider, poi fai clic sull'icona Modifica. Se stai testando l'autenticazione a più fattori, seleziona la scheda SMS a più fattori, poi fai clic su Modifica.
Nella sezione Numeri di telefono per i test, inserisci un numero di telefono e un codice di verifica per registrarti.
Il numero di telefono deve utilizzare il formato E.164 e non può essere già assegnato a un utente Identity Platform esistente. Il codice di verifica deve essere composto da sei cifre. Per motivi di sicurezza, scegli numeri difficili da indovinare ed evita sequenze ovvie come
+1 123-456-7890.Fai clic su Salva.
I numeri di telefono di prova vengono trattati come numeri di telefono reali da Identity Platform, quindi memorizzali in modo sicuro e ruotali a intervalli regolari.
Test manuale
Puoi iniziare subito a utilizzare i numeri di telefono di test nella tua app, direttamente o utilizzando gli emulatori iOS e Android. Quando accedi con un numero di telefono di test, non viene inviato alcun codice di verifica via SMS. Inserisci invece il codice che hai registrato durante la creazione del numero di test.
Dopo l'accesso, viene creato un utente Identity Platform utilizzando il numero di telefono di test. Questo utente ha lo stesso comportamento e le stesse proprietà di un utente reale, incluso un token ID valido, il che significa che può accedere a tutte le tue app e a tutti i tuoi servizi.
Per limitare l'accesso degli utenti di test, valuta la possibilità di creare un ruolo di test con autorizzazioni limitate e di assegnarlo utilizzando rivendicazioni personalizzate.
Test di integrazione
Oltre ai test manuali, l'SDK client contiene API che possono aiutarti a scrivere test di integrazione. Queste API disabilitano i requisiti di reCAPTCHA e verifica app, rendendoli più facili da aggirare con l'automazione.
L'esempio seguente mostra come testare l'accesso di un utente con un numero di telefono:
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
// ...
});
I verificatori reCAPTCHA simulati visibili e invisibili si comportano in modo diverso quando verifica appp è disattivata:
reCAPTCHA visibile:per simulare un clic dell'utente, reCAPTCHA si risolve automaticamente dopo un breve ritardo.
reCAPTCHA invisibile: per simulare verifica app, reCAPTCHA si risolve automaticamente quando viene chiamato
appVerifier.verify().
I reCAPTCHA simulati attiveranno comunque i callback quando vengono risolti o scadono.