Validation du numéro de téléphone Firebase

Firebase Phone Number Verification (Firebase PNV) est une méthode plus rapide et plus sécurisée pour valider les numéros de téléphone. Contrairement à la validation par SMS, qui nécessite que les utilisateurs reçoivent et saisissent un code à partir d'un message texte, Firebase PNV fonctionne en obtenant le numéro de téléphone attribué à la carte SIM de l'appareil directement auprès de l'opérateur connecté en un seul geste. Cela réduit les frictions pour l'utilisateur, améliore la fiabilité en ne dépendant pas de la distribution de messages SMS et élimine les vecteurs d'abus couramment exploités lors de l'utilisation de SMS.

Capacités clés

Les opérateurs sont la source fiable Avec Firebase PNV, Google obtient le numéro de téléphone validé de la carte SIM directement auprès de l'opérateur, ce qui vous indique le numéro qui s'affiche actuellement sur l'appareil exécutant votre application. Les mots de passe à usage unique par SMS ne peuvent vous indiquer que si l'utilisateur a accès au numéro de téléphone.
Utiliser de manière autonome ou avec un fournisseur d'identité Vous pouvez utiliser Firebase PNV seul comme méthode de vérification du numéro de téléphone facile à intégrer et fiable, ou vous pouvez l'utiliser comme méthode de connexion avec Firebase Authentication ou votre propre système d'authentification.
Utiliser automatiquement les opérateurs disponibles Vous pouvez utiliser le Firebase PNV SDK pour détecter la compatibilité et revenir à une autre méthode, comme les SMS, lorsque Firebase PNV n'est pas encore compatible avec l'appareil. Firebase PNV sera progressivement disponible pour les opérateurs du monde entier. À mesure que de nouveaux opérateurs seront disponibles, vous pourrez les utiliser automatiquement sans avoir à apporter de modifications supplémentaires à votre application. Pour obtenir la liste des opérateurs participants, consultez la page Compatibilité avec les opérateurs.
Éliminer les attaques par hameçonnage par SMS Étant donné que Firebase PNV n'envoie aucun message SMS pour valider un numéro de téléphone, les utilisateurs ne peuvent pas être victimes d'hameçonnage pour obtenir des mots de passe à usage unique, qui peuvent être utilisés lors d'attaques de piratage de compte.

Fonctionnement

Lorsque vous effectuez une demande de vérification du numéro de téléphone, Firebase PNV :

  1. vérifie que l'appareil et l'opérateur mobile de l'utilisateur sont compatibles ;

  2. obtient le consentement de l'utilisateur pour partager son numéro de téléphone avec votre application ;

  3. fonctionne avec l'opérateur mobile attribué à la carte SIM pour obtenir le numéro de téléphone validé ;

  4. renvoie à votre application un jeton signé contenant le numéro de téléphone validé, généralement entre une et trois secondes après le consentement utilisateur.

Après avoir vérifié la signature de ce jeton, votre application dispose désormais du numéro de téléphone validé de l'utilisateur. Vous pouvez également utiliser ce jeton dans le cadre d'un flux de connexion basé sur un numéro de téléphone, par exemple à l'aide de Firebase Authentication ou de votre propre backend d'authentification.

Chemin d'accès de l'exécution

Configurer votre projet Firebase Dans la Firebase console, suivez les étapes d'intégration pour activer la facturation et l'API Firebase Phone Number Verification pour votre projet Firebase.
Installer le SDK et l'initialiser Installez le Firebase PNV SDK pour la plate-forme de votre application. Le SDK nécessite que la validation de la marque OAuth ait été effectuée.
Concevoir un écran explicatif (Recommandé) Avant de déclencher l'interface utilisateur de consentement formel, expliquez aux utilisateurs qu'ils doivent sélectionner une carte SIM pour récupérer le numéro et que cette méthode est plus rapide et plus sécurisée que les mots de passe à usage unique par SMS. Cela réduira la confusion et permettra aux utilisateurs de se familiariser avec le nouveau flux de vérification du numéro de téléphone.
Vérifier la compatibilité de l'appareil et de l'opérateur (Recommandé) Au lancement de votre application, utilisez le Firebase PNV SDK pour vérifier que l'appareil et son opérateur mobile sont compatibles avec Firebase PNV. S'ils sont compatibles, affichez l'écran explicatif et demandez le consentement. Dans le cas contraire, utilisez votre ancienne méthode de vérification du numéro de téléphone, comme les SMS.
Demander le numéro de téléphone validé Utilisez le SDK Firebase PNV pour demander le numéro de téléphone validé de l'appareil à l'opérateur mobile. Cela déclenche le consentement utilisateur, que votre écran explicatif l'aide à fournir.
Vérifier le jeton de réponse Dans la réponse du service Firebase PNV, vous obtenez un jeton signé que vous pouvez envoyer au backend de votre application. Sur le backend, vérifiez la signature du jeton. Si la signature est valide, le jeton contient le numéro de téléphone validé de l'appareil.

Étapes suivantes

  • Consultez le guide Premiers pas sur Android pour découvrir comment tester Firebase PNV dans une application Android à l'aide du mode de test sans carte SIM.
  • Essayez l'atelier de programmation, qui vous explique pas à pas comment intégrer Firebase PNV dans une application Android.