5 étapes pour mettre en œuvre l’authentification biométrique dans Android

, Author

J’ai récemment eu la chance de travailler avec la nouvelle fonctionnalité BiometricPrompt API publiée par Google cette année. Alors que le support de l’authentification par empreinte digitale est disponible depuis Android 6.0, le nouveau BiometricPrompt promet plus de précision et un niveau de sécurité cohérent sur tous les appareils qui exécutent notre application.

Ayant récemment mis en œuvre l’authentification biométrique dans une application android, j’ai pensé mettre en évidence certaines des étapes de base nécessaires pour mettre en œuvre cette fonctionnalité dans une application android.

Alors commençons !

AndroidManifest.xml

Etape 2 : Vérifier si l’appareil prend en charge l’authentification biométrique

Spécifiquement, nous allons vérifier si les conditions suivantes sont remplies :

  • L’appareil exécute Android 6.0 ou plus
  • L’appareil dispose d’un capteur d’empreintes digitales
  • L’utilisateur a accordé à votre application la permission d’accéder au capteur d’empreintes digitales.
  • L’utilisateur a enregistré au moins une empreinte digitale sur son appareil.

Nous pouvons créer une classe util séparée pour vérifier si les conditions ci-dessus sont remplies:

Étape 3 : Afficher le dialogue BiometricPrompt

Une fois que les conditions ci-dessus sont vérifiées, nous pouvons vérifier si la version d’android dans l’appareil est Android P. Le dialogue biométrique n’est pris en charge que dans Android P, regardons d’abord cela.

Le code ci-dessous est pour afficher un dialogue biométriquePrompt:

En utilisant le constructeur BiometricPrompt nous pouvons :

  • setTitle() – Définir le titre à afficher (obligatoire)
  • setSubtitle() – Définir le sous-titre à afficher (facultatif)
  • setDescription() – Définir la description à afficher(facultatif)
  • setNegativeButton() – Définir le texte du bouton négatif(obligatoire). Vous devez également fournir une instance d’exécuteur et un écouteur de clic pour le bouton négatif.

Note : Vous ne pouvez pas personnaliser l’icône ou le message d’erreur qui sont utilisés dans le dialogue.

Un dialogue BiometricPrompt typique

Étape 4 : Gérer le Callback d’authentification

Puis nous utilisons le BiometricPrompt.AuthenticationCallback pour écouter les événements d’authentification des utilisateurs. Il comprend 4 méthodes :

onAuthenticationSucceeded

Lorsque l’empreinte digitale est a été appariée avec succès avec l’une des empreintes digitales enregistrées sur le périphérique, alors ce callback sera déclenché. Un objet AuthenticationResult sera transmis à la callback.

onAuthenticationFailed

Lorsque l’empreinte digitale ne correspond à aucune des empreintes digitales enregistrées sur le dispositif, alors cette callback sera déclenchée.

onAuthenticationError

Lorsqu’une erreur irrécupérable a été rencontrée et que le processus d’authentification s’est terminé sans succès, alors cette callback sera déclenchée. La callback est fournie avec un code d’erreur pour identifier la cause de l’erreur, ainsi que le message d’erreur. Les différents types de codes d’erreur qui peuvent se produire sont :

  • BIOMETRIC_ERROR_LOCKOUT – L’opération a été annulée car l’API est verrouillée en raison d’un trop grand nombre de tentatives.
  • BIOMETRIC_ERROR_LOCKOUT_PERMANENT – L’opération a été annulée car BIOMETRIC_ERROR_LOCKOUT s’est produit trop de fois.
  • BIOMETRIC_ERROR_NO_SPACE – L’opération ne peut pas être achevée parce qu’il ne reste pas assez d’espace de stockage pour terminer l’opération.
  • BIOMETRIC_ERROR_TIMEOUT – Le délai d’attente se produit car la demande actuelle a été exécutée trop longtemps.
  • BIOMETRIC_ERROR_UNABLE_TO_PROCESS – Le capteur n’a pas pu traiter l’image actuelle.
  • BIOMETRIC_ERROR_USER_CANCELED – L’utilisateur a annulé l’opération.
  • BIOMETRIC_ERROR_VENDOR – S’il existe des conditions qui ne relèvent pas d’une des catégories ci-dessus.
  • BIOMETRIC_ERROR_NO_BIOMETRICS – L’utilisateur n’a pas de données biométriques enregistrées dans l’appareil.
  • BIOMETRIC_ERROR_CANCELED – L’opération a été annulée car le capteur biométrique est indisponible.
  • BIOMETRIC_ERROR_HW_NOT_PRESENT – Le périphérique ne possède pas de capteur biométrique.
  • BIOMETRIC_ERROR_HW_UNAVAILABLE – Le matériel du périphérique est indisponible.

onAuthenticationHelp

Cette méthode est appelée lorsqu’une erreur non fatale s’est produite pendant le processus d’authentification. La callback sera fournie avec un code d’aide pour identifier la cause de l’erreur, ainsi qu’un message d’aide. Les différents types de codes d’aide qui peuvent se produire sont :

  • BIOMETRIC_ACQUIRED_IMAGER_DIRTY – L’image biométrique était trop bruyante en raison d’une saleté présumée sur le capteur.
  • BIOMETRIC_ACQUIRED_INSUFFICIENT – L’image biométrique était trop bruyante pour être traitée. Cela peut être dû à diverses raisons, mais généralement, c’est parce que l’image n’était pas lisible.
  • BIOMETRIC_ACQUIRED_PARTIAL – Seule une image biométrique partielle a été détectée.
  • BIOMETRIC_ACQUIRED_TO_FAST – L’image biométrique était incomplète parce que l’utilisateur a déplacé son doigt autour du capteur trop rapidement.
  • BIOMETRIC_ACQUIRED_TOO_SLOW – L’image biométrique était illisible en raison du manque de mouvement de l’utilisateur autour du capteur.
Custom Biometric Callback class

Si vous avez un appareil Android P, alors c’est ça !

.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.