Inizia
-
Installa il pacchetto
Terminal window npm i @capgo/capacitor-native-biometricTerminal window pnpm add @capgo/capacitor-native-biometricTerminal window yarn add @capgo/capacitor-native-biometricTerminal window bun add @capgo/capacitor-native-biometric -
Sincronizza con i progetti nativi
Terminal window npx cap syncTerminal window pnpm cap syncTerminal window yarn cap syncTerminal window bunx cap sync -
Configura i permessi
Aggiungi la descrizione dell’uso di Face ID al tuo
Info.plist:<key>NSFaceIDUsageDescription</key><string>For secure authentication</string>Android
Section titled “Android”Aggiungi il permesso biometrico al tuo
AndroidManifest.xml:<uses-permission android:name="android.permission.USE_BIOMETRIC" />
Utilizzo
Section titled “Utilizzo”Importa il plugin e usa i suoi metodi per l’autenticazione biometrica:
import { NativeBiometric } from '@capgo/capacitor-native-biometric';
// Controlla se l'autenticazione biometrica è disponibileconst checkBiometric = async () => { const result = await NativeBiometric.isAvailable();
if (result.isAvailable) { console.log(`Tipo biometrico: ${result.biometryType}`); }};
// Esegui la verifica biometricaconst verify = async () => { const verified = await NativeBiometric.verifyIdentity({ reason: "Per un accesso sicuro al tuo account", title: "Autenticazione", subtitle: "Verifica la tua identità", description: "Posiziona il dito sul sensore" }) .then(() => true) .catch(() => false);
if (verified) { console.log("Autenticazione riuscita"); }};
// Memorizza le credenziali in modo sicuroconst saveCredentials = async () => { await NativeBiometric.setCredentials({ username: "user@example.com", password: "securepassword", server: "https://api.example.com" });};
// Recupera le credenziali memorizzateconst getCredentials = async () => { const credentials = await NativeBiometric.getCredentials({ server: "https://api.example.com" });
console.log(credentials.username); console.log(credentials.password);};
// Elimina le credenziali memorizzateconst deleteCredentials = async () => { await NativeBiometric.deleteCredentials({ server: "https://api.example.com" });};Riferimento API
Section titled “Riferimento API”isAvailable()
Section titled “isAvailable()”Controlla se l’autenticazione biometrica è disponibile sul dispositivo.
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)”Esegue l’autenticazione biometrica.
interface BiometricOptions { reason?: string; title?: string; subtitle?: string; description?: string; fallbackTitle?: string; useFallback?: boolean; maxAttempts?: number;}setCredentials(options)
Section titled “setCredentials(options)”Memorizza le credenziali in modo sicuro con protezione biometrica.
interface Credentials { username: string; password: string; server: string;}getCredentials(options)
Section titled “getCredentials(options)”Recupera le credenziali memorizzate dopo l’autenticazione biometrica.
interface GetCredentialOptions { server: string;}deleteCredentials(options)
Section titled “deleteCredentials(options)”Elimina le credenziali memorizzate.
interface DeleteCredentialOptions { server: string;}Best practice
Section titled “Best practice”-
Controlla sempre la disponibilità per prima
const result = await NativeBiometric.isAvailable();if (!result.isAvailable) {// Torna all'autenticazione tramite password} -
Fornisci motivi chiari Spiega sempre perché hai bisogno dell’autenticazione biometrica per creare fiducia nell’utente.
-
Gestisci gli errori con grazia
try {await NativeBiometric.verifyIdentity({reason: "Accedi ai tuoi dati sicuri"});} catch (error) {// Gestisci annullamento o fallimentoconsole.log("Autenticazione fallita o annullata");} -
Usa fallback appropriati Abilita il fallback del codice di accesso per i dispositivi in cui la biometria potrebbe fallire.
Differenze tra piattaforme
Section titled “Differenze tra piattaforme”- Supporta Touch ID e Face ID
- Richiede
NSFaceIDUsageDescriptionper Face ID - Fallback al codice di accesso del dispositivo disponibile
Android
Section titled “Android”- Supporta riconoscimento di impronte digitali, volto e iride
- Richiede il permesso
USE_BIOMETRIC - API Biometric Prompt per Android 9+