Passer au contenu

Commencer

  1. Installer le package

    Fenêtre de terminal
    npm i @capgo/capacitor-native-biometric
  2. Synchroniser avec les projets natifs

    Fenêtre de terminal
    npx cap sync
  3. Configurer les permissions

    Ajoutez la description d’utilisation de Face ID à votre Info.plist :

    <key>NSFaceIDUsageDescription</key>
    <string>For secure authentication</string>

    Ajoutez la permission biométrique à votre AndroidManifest.xml :

    <uses-permission android:name="android.permission.USE_BIOMETRIC" />

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 disponible
const checkBiometric = async () => {
const result = await NativeBiometric.isAvailable();
if (result.isAvailable) {
console.log(`Type biométrique : ${result.biometryType}`);
}
};
// Effectuer une vérification biométrique
const 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ée
const saveCredentials = async () => {
await NativeBiometric.setCredentials({
username: "user@example.com",
password: "securepassword",
server: "https://api.example.com"
});
};
// Récupérer les identifiants stockés
const getCredentials = async () => {
const credentials = await NativeBiometric.getCredentials({
server: "https://api.example.com"
});
console.log(credentials.username);
console.log(credentials.password);
};
// Supprimer les identifiants stockés
const deleteCredentials = async () => {
await NativeBiometric.deleteCredentials({
server: "https://api.example.com"
});
};

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
}

Effectue l’authentification biométrique.

interface BiometricOptions {
reason?: string;
title?: string;
subtitle?: string;
description?: string;
fallbackTitle?: string;
useFallback?: boolean;
maxAttempts?: number;
}

Stocke les identifiants de manière sécurisée avec protection biométrique.

interface Credentials {
username: string;
password: string;
server: string;
}

Récupère les identifiants stockés après authentification biométrique.

interface GetCredentialOptions {
server: string;
}

Supprime les identifiants stockés.

interface DeleteCredentialOptions {
server: string;
}
  1. Toujours vérifier la disponibilité d’abord

    const result = await NativeBiometric.isAvailable();
    if (!result.isAvailable) {
    // Revenir à l'authentification par mot de passe
    }
  2. Fournir des raisons claires Expliquez toujours pourquoi vous avez besoin de l’authentification biométrique pour établir la confiance de l’utilisateur.

  3. 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'échec
    console.log("Authentification échouée ou annulée");
    }
  4. Utiliser des alternatives appropriées Activez le recours au code d’accès pour les appareils où la biométrie peut échouer.

  • Prend en charge Touch ID et Face ID
  • Nécessite NSFaceIDUsageDescription pour Face ID
  • Recours au code d’accès de l’appareil disponible
  • 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+