Authentification biométrique dans Android à l’aide de BiometricManager

Introduction
Demander une vérification biométrique, telle que la reconnaissance faciale ou d’empreintes digitales, est un moyen de protéger les données privées ou le contenu premium au sein de votre application. C’est crucial, en particulier pour les applications liées à la finance et à la santé qui exigent une authentification à chaque fois qu’un utilisateur les lance. Ce guide explique comment activer les flux de connexion biométriques dans votre application.
Le AndroidX Biométrique Library, une bibliothèque de support qui remplace toutes les versions antérieures de l’API, vient d’être mise à disposition par l’équipe Android Framework and Security. Grâce à la bibliothèque, toutes les fonctionnalités annoncées pour Android 10 (API niveau 29) sont désormais disponibles pour Android 6 (API niveau 23). Voici les principaux avantages de la bibliothèque de support :
- Étant donné que la bibliothèque gère toutes les correspondances d’API, les développeurs n’ont plus besoin de prendre en compte les différents niveaux d’API dans leur code. Par exemple, la bibliothèque de support utilise Invite biométrique au niveau API 28 et supérieur et Gestionnaire d’empreintes digitales sur les niveaux API 23 à 27 parfaitement.
- Les développeurs peuvent désormais concevoir leur propre interface utilisateur (UI) d’authentification. La bibliothèque offre une interface utilisateur (UI) standardisée et reconnaissable qui correspond au facteur de forme d’un utilisateur pour l’authentification biométrique, comme l’authentification par visage ou par empreinte digitale.
- Avec un seul appel API, les développeurs peuvent déterminer si un appareil prend en charge l’authentification biométrique.
Le Invite biométrique et Gestionnaire biométrique les cours vous permettent d’accéder à la vaste gamme de commodités offertes par la bibliothèque !
Cet article vous guidera tout au long du processus de migration si votre application n’utilise toujours pas le AndroidX Bibliothèque biométrique.
1. Déclarez la dépendance :
Vous pouvez vérifier le dernière version ici.

…
2. Répertoriez les méthodes d’authentification prises en charge par votre application :
Utilisez le BiometricManager.Authentificateurs interface pour déclarer les types d’authentification pris en charge par votre application. Vous pouvez spécifier les formes d’authentification suivantes à l’aide du système :
Je laisse aux lecteurs le soin de se référer au Documentation de la version Android pour comprendre la différence entre le Fort et Faible types d’authentification.
3. Vérifiez que l’authentification est accessible
Une fois que vous avez déterminé les composants d’authentification pris en charge par votre application, assurez-vous que ces composants sont accessibles. Pour ce faire, appelez le peutAuthentifier() fonction avec la même combinaison de types au niveau du bit que vous avez déclarée à l’aide de la setAllowedAuthenticators() méthode. Utilisez le ACTION_BIOMETRIC_ENROLL action intentionnelle si nécessaire. Fournissez la liste des authentificateurs autorisés par votre application dans l’intention supplémentaire. Cet objectif demande à l’utilisateur de configurer les informations de connexion pour un authentificateur accepté par votre application.
Assurez-vous que vous utilisez androidx.biométrique.*
Le BIOMETRIC_STRONG sera utilisé dans les instances suivantes. Certains appareils peuvent ne pas avoir d’authentification biométrique. Il y a quatre options ici :

…
4. Créez l’invite
Si BIOMETRIC_SUCCÈS a été reçu, la boîte de dialogue d’authentification biométrique doit être utilisée pour inviter l’utilisateur. Deux choses sont requises :
- Le InviteInfo boite de dialogue

…
Un code PIN, un schéma ou un mot de passe doit être créé par l’utilisateur avant de pouvoir commencer à utiliser un authentificateur. La procédure d’enrôlement biométrique propose à l’utilisateur d’en créer un s’il n’en possède pas déjà un.
Transmettez un type d’authentification, ou un mélange de types au niveau du bit, dans le setAllowedAuthenticators() pour spécifier les types d’authentification biométrique pris en charge par votre application. L’exemple de code qui suit montre comment activer les informations d’identification de verrouillage d’écran ou une biométrie de classe 3 pour l’authentification.

…
Note: Tu ne peux pas appeler setNegativeButtonText() et setAllowedAuthenticators(… ou DEVICE_CREDENTIAL) en même temps sur un BiometricPrompt.PromptInfo.Builder exemple.
Sur Android 10 (API niveau 29) et versions antérieures, les combinaisons suivantes de types d’authentificateurs ne sont pas prises en charge : BIOMETRIC_FORT | DEVICE_CREDENTIAL et DEVICE_CREDENTIAL. Le KeyguardManager.isDeviceSecure() La fonction peut être utilisée pour déterminer si un mot de passe, un code PIN ou un modèle est présent sur les appareils Android 10 et inférieurs.

…
5. Afficher l’invite
Maintenant que tout est en place, vous pouvez afficher l’invite :

…
Le rappel onAuthenticationRéussite La fonction sera déclenchée si l’utilisateur s’authentifie avec succès.
Présentez l’invite de connexion.

Une invite système demande une authentification via une biométrie.
Suivez ces étapes pour intégrer l’authentification biométrique dans votre application à l’aide de la bibliothèque biométrique :
- Ajouter le androidx.biométrique bibliothèque en tant que dépendance dans le build.gradle fichier pour votre module d’application.
- Utilisez la logique de l’extrait de code suivant pour afficher la boîte de dialogue de connexion biométrique dans l’activité ou le fragment qui l’héberge :

…
Note: Utiliser Authentification biométrique avec CryptoObjet est une option supplémentaire. Consultez ce guide si c’est ce dont vous avez besoin.
Résumé:
- Au sein de votre onCréer() ou onCreateView() méthode de cycle de vie, instancier Invite biométrique et transmettez-lui une instance de BiometricPrompt.Callback pour Authentification().
- Construire un InviteInfo objet
- Appel BiometricPrompt.authenticate().
Ce blog est basé sur – https://developer.android.com/identity/sign-in/biometric-auth?source=post_page—–8e804781a884——————————–#available
Merci!
Garder Apprentissage! Garder Codage!
VOUS TROUVEZ CECI UTILE ? PARTAGEZ-LE
Source link