Verifica del numero di telefono di Firebase
Firebase Phone Number Verification (Firebase PNV) è un metodo rapido e sicuro per verificare i numeri di telefono degli utenti. A differenza della verifica basata su SMS, che richiede agli utenti di ricevere e inserire un codice da un messaggio di testo, Firebase PNV funziona ottenendo il numero di telefono della SIM nel dispositivo direttamente dall'operatore connesso con un solo tocco. Ciò riduce l'attrito per l'utente, migliora l'affidabilità non dipendendo dalla ricezione di messaggi SMS ed elimina i vettori di abuso comunemente sfruttati quando si utilizzano gli SMS.
Funzionalità chiave
| Gli operatori sono la fonte attendibile | Con Firebase PNV, Google ottiene il numero di telefono verificato per la SIM direttamente dall'operatore, indicandoti il numero presente sul dispositivo su cui è in esecuzione la tua app in questo momento. Gli OTP via SMS possono solo indicare se l'utente ha accesso al numero di telefono. |
| Utilizzare autonomamente o con un provider di identità | Puoi utilizzare Firebase PNV da solo come metodo di verifica del numero di telefono facile da integrare e affidabile oppure puoi utilizzarlo come metodo di accesso con Firebase Authentication o il tuo sistema di autenticazione. |
| Utilizzare automaticamente i corrieri disponibili | Puoi utilizzare l'SDK Firebase PNV per rilevare la compatibilità e passare a un altro metodo, ad esempio gli SMS, quando Firebase PNV non è ancora supportato sul dispositivo. Firebase PNV sarà disponibile gradualmente per gli operatori in tutto il mondo. Man mano che diventano disponibili nuovi operatori, puoi utilizzarli automaticamente senza ulteriori modifiche alla tua app. Consulta Supporto degli operatori per un elenco degli operatori partecipanti. |
| Eliminare gli attacchi di phishing via SMS | Poiché Firebase PNV non invia SMS per verificare un numero di telefono, gli utenti non si aspettano messaggi dalla tua app con passcode monouso, che possono essere utilizzati negli attacchi di compromissione dell'account. |
Come funziona?
Quando invii una richiesta di verifica del numero di telefono, Firebase PNV:
Verifica che il dispositivo e l'operatore mobile dell'utente siano supportati.
Ottiene il consenso dell'utente a condividere il suo numero di telefono con la tua app.
Collabora con l'operatore di telefonia mobile assegnato alla SIM per ottenere il numero di telefono verificato.
Restituisce alla tua app un token firmato contenente il numero di telefono verificato, in genere entro 1-3 secondi dal consenso dell'utente.
Dopo aver verificato la firma di questo token, la tua app dispone ora del numero di telefono verificato dell'utente. Puoi utilizzare questo token anche nell'ambito di un flusso di accesso basato sul numero di telefono, ad esempio utilizzando Firebase Authentication o il tuo backend di autenticazione.
Percorso di implementazione
| Configura il progetto Firebase | Nella console Firebase, completa i passaggi di onboarding per abilitare la fatturazione e l'API Firebase Phone Number Verification per il tuo progetto Firebase. | |
| Installa l'SDK e inizializzalo | Installa l'SDK Firebase PNV per la piattaforma della tua app. L'SDK richiede che la verifica del brand OAuth sia stata completata correttamente. | |
| Progettare una schermata esplicativa | (Consigliato) Prima di attivare l'interfaccia utente per il consenso formale dell'utente, spiega che deve selezionare una SIM per recuperare il numero e che questa procedura è più veloce e più sicura rispetto agli OTP via SMS. In questo modo si riduce la confusione e si istruiscono gli utenti sul nuovo flusso di verifica del numero di telefono. | |
| Controllare la compatibilità del dispositivo e dell'operatore | (Consigliato) All'avvio dell'app, utilizza l'SDK Firebase PNV per verificare che il dispositivo e il suo operatore di telefonia mobile siano compatibili con Firebase PNV. Se è compatibile, mostra la schermata esplicativa e chiedi il consenso. In caso contrario, utilizza il metodo precedente di verifica del numero di telefono, ad esempio tramite SMS. | |
| Richiedere il numero di telefono verificato | Utilizza l'SDK Firebase PNV per richiedere il numero di telefono verificato del dispositivo all'operatore di telefonia mobile. In questo modo viene attivato il consenso dell'utente, che la schermata esplicativa aiuta a preparare per il completamento. | |
| Verifica il token di risposta | Nella risposta del servizio Firebase PNV, ricevi un token firmato che puoi inviare al backend della tua app. Nel backend, verifica la firma del token. Se la firma è valida, il token contiene il numero di telefono verificato del dispositivo. |
Passaggi successivi
- Firebase PNV è un servizio a pagamento che comporta un costo per verifica. Per i dettagli, consulta la pagina Prezzi.
- Consulta la guida Iniziare a utilizzare Android per scoprire come utilizzare Firebase PNV in un'app per Android.