Registrazione dei numeri di telefono di prova
Questo documento mostra come registrare numeri di telefono con Identity Platform a fini di sviluppo. In questo modo puoi testare i metodi di autenticazione che prevedono l'invio di un messaggio SMS, ad esempio l'accesso tramite telefono e l'autenticazione a più fattori.
L'utilizzo di un numero di prova (anziché di un numero reale) offre diversi vantaggi:
- Si integra perfettamente con gli emulatori iOS e Android.
- Elimina l'overhead associato all'invio di un SMS vero e proprio.
- Puoi eseguire test consecutivi con lo stesso numero di telefono senza throttled.
- 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 prova
Per registrare un numero di telefono di prova:
Vai alla pagina Provider di identità nella console Google Cloud.
Vai alla pagina Provider di identitàSe stai testando l'autenticazione telefonica, individua l'opzione nell'elenco dei fornitori, poi fai clic sull'icona Modifica. Se stai testando l'autenticazione a più fattori autenticazione, seleziona la scheda SMS a più fattori, quindi fai clic su Modifica.
In Numeri di telefono per i test, inserisci un numero di telefono e la verifica codice da registrare.
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 costituito da sei cifre. Per motivi di sicurezza, scegli numeri difficili da indovinare ed evita pattern ovvi come
+1 123-456-7890
.Fai clic su Salva.
I numeri di telefono di prova vengono trattati come numeri di telefono veri Identity Platform, quindi archiviali in modo sicuro e ruotali regolarmente intervalli.
Test manuale
Puoi iniziare subito a utilizzare i numeri di telefono di prova nella tua app, direttamente o utilizzando gli emulatori iOS e Android. Quando accedi con uno smartphone di prova numero di telefono, non viene inviato nessun codice di verifica SMS; inserisci il codice che hai registrato quando crei il numero di test.
Dopo l'accesso, viene creato un utente di Identity Platform utilizzando il telefono di prova numero. 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, ti consigliamo di creare un ruolo di test con autorizzazioni limitate e di assegnarlo utilizzando claim personalizzati.
Test di integrazione
Oltre ai test manuali, l'SDK client contiene API che possono aiutarti a scrivere test di integrazione. Queste API disabilitano reCAPTCHA e verifica app requisiti, il che li rende più facili da bypassare 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
// ...
});
Gli strumenti di verifica reCAPTCHA visibili e invisibili si comportano in modo diverso quando Verifica app disattivata:
reCAPTCHA visibile: per simulare un clic dell'utente, reCAPTCHA si risolve automaticamente dopo un breve ritardo.
reCAPTCHA invisibile: per simulare la verifica dell'app, reCAPTCHA si risolverà automaticamente quando viene chiamato
appVerifier.verify()
.
I reCAPTCHA simulati attiveranno comunque i relativi callback quando vengono risolti o scadono.