Commencer
-
Installer le package
Fenêtre de terminal npm i @capgo/capacitor-native-biometricFenêtre de terminal pnpm add @capgo/capacitor-native-biometricFenêtre de terminal yarn add @capgo/capacitor-native-biometricFenêtre de terminal bun add @capgo/capacitor-native-biometric -
Synchroniser avec les projets natifs
Fenêtre de terminal npx cap syncFenêtre de terminal pnpm cap syncFenêtre de terminal yarn cap syncFenêtre de terminal bunx cap sync -
Configurer les permissions
Ajoutez la description d’utilisation de Face ID à votre
Info.plist:<key>NSFaceIDUsageDescription</key><string>For secure authentication</string>Android
Section titled “Android”Ajoutez la permission biométrique à votre
AndroidManifest.xml:<uses-permission android:name="android.permission.USE_BIOMETRIC" />
Utilisation
Section titled “Utilisation”Importez le plugin et utilisez ses méthodes pour l’authentification biométrique :
import { NativeBiometric } from '@capgo/capacitor-native-biometric';
// Vérifier si l'authentification biométrique est disponibleconst checkBiometric = async () => { const result = await NativeBiometric.isAvailable();
if (result.isAvailable) { console.log(`Type biométrique : ${result.biometryType}`); }};
// Effectuer une vérification biométriqueconst verify = async () => { const verified = await NativeBiometric.verifyIdentity({ reason: "Pour un accès sécurisé à votre compte", title: "Authentification", subtitle: "Vérifiez votre identité", description: "Placez votre doigt sur le capteur" }) .then(() => true) .catch(() => false);
if (verified) { console.log("Authentification réussie"); }};
// Stocker les identifiants de manière sécuriséeconst saveCredentials = async () => { await NativeBiometric.setCredentials({ username: "user@example.com", password: "securepassword", server: "https://api.example.com" });};
// Récupérer les identifiants stockésconst getCredentials = async () => { const credentials = await NativeBiometric.getCredentials({ server: "https://api.example.com" });
console.log(credentials.username); console.log(credentials.password);};
// Supprimer les identifiants stockésconst deleteCredentials = async () => { await NativeBiometric.deleteCredentials({ server: "https://api.example.com" });};Référence API
Section titled “Référence API”isAvailable()
Section titled “isAvailable()”Vérifie si l’authentification biométrique est disponible sur l’appareil.
interface AvailableResult { isAvailable: boolean; biometryType?: BiometryType; errorCode?: number;}
enum BiometryType { NONE = 0, TOUCH_ID = 1, FACE_ID = 2, FINGERPRINT = 3, FACE_AUTHENTICATION = 4, IRIS_AUTHENTICATION = 5}verifyIdentity(options)
Section titled “verifyIdentity(options)”Effectue l’authentification biométrique.
interface BiometricOptions { reason?: string; title?: string; subtitle?: string; description?: string; fallbackTitle?: string; useFallback?: boolean; maxAttempts?: number;}setCredentials(options)
Section titled “setCredentials(options)”Stocke les identifiants de manière sécurisée avec protection biométrique.
interface Credentials { username: string; password: string; server: string;}getCredentials(options)
Section titled “getCredentials(options)”Récupère les identifiants stockés après authentification biométrique.
interface GetCredentialOptions { server: string;}deleteCredentials(options)
Section titled “deleteCredentials(options)”Supprime les identifiants stockés.
interface DeleteCredentialOptions { server: string;}Bonnes pratiques
Section titled “Bonnes pratiques”-
Toujours vérifier la disponibilité d’abord
const result = await NativeBiometric.isAvailable();if (!result.isAvailable) {// Revenir à l'authentification par mot de passe} -
Fournir des raisons claires Expliquez toujours pourquoi vous avez besoin de l’authentification biométrique pour établir la confiance de l’utilisateur.
-
Gérer les erreurs avec élégance
try {await NativeBiometric.verifyIdentity({reason: "Accéder à vos données sécurisées"});} catch (error) {// Gérer l'annulation ou l'échecconsole.log("Authentification échouée ou annulée");} -
Utiliser des alternatives appropriées Activez le recours au code d’accès pour les appareils où la biométrie peut échouer.
Différences de plateforme
Section titled “Différences de plateforme”- Prend en charge Touch ID et Face ID
- Nécessite
NSFaceIDUsageDescriptionpour Face ID - Recours au code d’accès de l’appareil disponible
Android
Section titled “Android”- Prend en charge la reconnaissance d’empreintes digitales, de visage et d’iris
- Nécessite la permission
USE_BIOMETRIC - API Biometric Prompt pour Android 9+