Comenzar
-
Instalar el paquete
Ventana de terminal npm i @Capgo/Capacitor-native-biometricVentana de terminal pnpm add @Capgo/Capacitor-native-biometricVentana de terminal yarn add @Capgo/Capacitor-native-biometricVentana de terminal bun add @Capgo/Capacitor-native-biometric -
Sincronizar con proyectos nativos
Ventana de terminal npx cap syncVentana de terminal pnpm cap syncVentana de terminal yarn cap syncVentana de terminal bunx cap sync -
Configurar permisos
Agrega la descripción de uso de Face ID a tu
Info.plist:<key>NSFaceIDUsageDescription</key><string>For secure authentication</string>Android
Section titled “Android”Agrega el permiso biométrico a tu
AndroidManifest.xml:<uses-permission android:name="android.permission.USE_BIOMETRIC" />
Importa el Plugin y usa sus métodos para autenticación biométrica:
import { NativeBiometric } from '@capgo/capacitor-native-biometric';
// Verificar si la autenticación biométrica está disponibleconst checkBiometric = async () => { const result = await NativeBiometric.isAvailable();
if (result.isAvailable) { console.log(`Tipo de biometría: ${result.biometryType}`); }};
// Realizar verificación biométricaconst verify = async () => { const verified = await NativeBiometric.verifyIdentity({ reason: "Para acceso seguro a tu cuenta", title: "Autenticación", subtitle: "Verifica tu identidad", description: "Coloca tu dedo en el sensor" }) .then(() => true) .catch(() => false);
if (verified) { console.log("Autenticación exitosa"); }};
// Almacenar credenciales de forma seguraconst saveCredentials = async () => { await NativeBiometric.setCredentials({ username: "user@example.com", password: "securepassword", server: "https://api.example.com" });};
// Recuperar credenciales almacenadasconst getCredentials = async () => { const credentials = await NativeBiometric.getCredentials({ server: "https://api.example.com" });
console.log(credentials.username); console.log(credentials.password);};
// Eliminar credenciales almacenadasconst deleteCredentials = async () => { await NativeBiometric.deleteCredentials({ server: "https://api.example.com" });};Referencia de API
Section titled “Referencia de API”isAvailable()
Section titled “isAvailable()”Verifica si la autenticación biométrica está disponible en el 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(Opciones)
Section titled “verifyIdentity(Opciones)”Realiza la autenticación biométrica.
interface BiometricOptions { reason?: string; title?: string; subtitle?: string; description?: string; fallbackTitle?: string; useFallback?: boolean; maxAttempts?: number;}setCredentials(Opciones)
Section titled “setCredentials(Opciones)”Almacena credenciales de forma segura con protección biométrica.
interface Credentials { username: string; password: string; server: string;}getCredentials(Opciones)
Section titled “getCredentials(Opciones)”Recupera credenciales almacenadas después de la autenticación biométrica.
interface GetCredentialOptions { server: string;}deleteCredentials(Opciones)
Section titled “deleteCredentials(Opciones)”Elimina credenciales almacenadas.
interface DeleteCredentialOptions { server: string;}Mejores Prácticas
Section titled “Mejores Prácticas”-
Siempre verificar disponibilidad primero
const result = await NativeBiometric.isAvailable();if (!result.isAvailable) {// Volver a autenticación con contraseña} -
Proporcionar razones claras Siempre explica por qué necesitas autenticación biométrica para generar confianza en el usuario.
-
Manejar errores con gracia
try {await NativeBiometric.verifyIdentity({reason: "Acceder a tus datos seguros"});} catch (error) {// Manejar cancelación o falloconsole.log("Autenticación fallida o cancelada");} -
Usar alternativas apropiadas Habilita la alternativa de código de acceso para dispositivos donde la biometría puede fallar.
Diferencias por Plataforma
Section titled “Diferencias por Plataforma”- Soporta Touch ID y Face ID
- Requiere
NSFaceIDUsageDescriptionpara Face ID - Alternativa de código de acceso del dispositivo disponible
Android
Section titled “Android”- Soporta reconocimiento de huella dactilar, facial e iris
- Requiere permiso
USE_BIOMETRIC - API de Biometric Prompt para Android 9+