Saltar al contenido principal
@capgo/capacitor-native-biometric Auth y seguridad Código abierto

Biometría Nativa plugin Capacitor

Autenticación segura con Face ID, Touch ID y las APIs biométricas de Android

Instalar

bun add @capgo/capacitor-native-biometric bunx cap sync
npm, pnpm o yarn
  • npm install @capgo/capacitor-native-biometric
  • pnpm add @capgo/capacitor-native-biometric
  • yarn add @capgo/capacitor-native-biometric

Guía

Cómo usar Native Biometric en Capacitor

Probar en el dispositivo

Descarga la app Capgo y escanea el QR code.

Vista previa QR del plugin Native Biometric code

Uso de @capgo/capacitor-native-biometric

Este plugin da acceso a las APIs biométricas nativas para Android e iOS.

Compatibilidad

La versión principal del plugin sigue a Capacitor: usa v8 para Capacitor 8 (mantenimiento activo) y v7 para Capacitor 7 (mantenimiento bajo demanda). Consulta la tabla de compatibilidad.

Instalar

# Capacitor 8
bun add @capgo/capacitor-native-biometric@8
# Capacitor 7
bun add @capgo/capacitor-native-biometric@7
bunx cap sync

bunx cap sync copia el code nativo del plugin en tus proyectos nativos. Ejecútalo de nuevo tras cada actualización del plugin.

Importar

import { NativeBiometric } from '@capgo/capacitor-native-biometric';

API de un vistazo

Método Descripción
isAvailable Comprueba si el hardware de autenticación biométrica está disponible.
verifyIdentity Solicita al usuario que se autentique con biometría.
getCredentials Obtiene las credenciales almacenadas para un servidor específico.
setCredentials Almacena las credenciales proporcionadas para un servidor específico.
deleteCredentials Elimina las credenciales almacenadas para un servidor específico.
getSecureCredentials Obtiene las credenciales almacenadas para un servidor específico, requiriendo autenticación biométrica. Las credenciales deben haberse guardado con accessControl establecido en BIOMETRY_CURRENT_SET o BIOMETRY_ANY.
isCredentialsSaved Comprueba si ya existen credenciales guardadas para un servidor específico.
setData Almacena un valor string arbitrario bajo la clave indicada. Los valores se cifran en reposo usando el backend de almacenamiento seguro de la plataforma (Android Keystore + SharedPreferences, iOS Keychain).
getData Obtiene un valor almacenado previamente para la clave indicada. Solo devuelve valores guardados sin biometría. accessControl.
getSecureData Obtiene un valor protegido por biometría para la clave indicada. El valor debe haberse almacenado con accessControl el ajuste establecido en BIOMETRY_CURRENT_SET o BIOMETRY_ANY.
deleteData Elimina el valor almacenado para la clave indicada (protegida o no).
isDataSaved Comprueba si ya existe un valor guardado para la clave indicada.

Ejemplos

isAvailable()

Comprueba si el hardware de autenticación biométrica está disponible.

import { NativeBiometric } from '@capgo/capacitor-native-biometric';

const result = await NativeBiometric.isAvailable();
console.log(result);

verifyIdentity()

Solicita al usuario que se autentique con biometría.

import { NativeBiometric } from '@capgo/capacitor-native-biometric';

await NativeBiometric.verifyIdentity();

getCredentials()

Obtiene las credenciales almacenadas para un servidor específico.

import { NativeBiometric } from '@capgo/capacitor-native-biometric';

const result = await NativeBiometric.getCredentials({ server: 'example.com' });
// The result holds sensitive values: use it without logging it.

setCredentials()

Almacena las credenciales proporcionadas para un servidor específico.

import { NativeBiometric } from '@capgo/capacitor-native-biometric';

await NativeBiometric.setCredentials({
  username: 'username',
  password: 'password',
  server: 'example.com',
});

deleteCredentials()

Elimina las credenciales almacenadas para un servidor específico.

import { NativeBiometric } from '@capgo/capacitor-native-biometric';

await NativeBiometric.deleteCredentials({ server: 'example.com' });

getSecureCredentials()

Obtiene las credenciales almacenadas para un servidor específico, requiriendo autenticación biométrica. Las credenciales deben haberse guardado con accessControl establecido en BIOMETRY_CURRENT_SET o BIOMETRY_ANY.

import { NativeBiometric } from '@capgo/capacitor-native-biometric';

const result = await NativeBiometric.getSecureCredentials({ server: 'example.com' });
// The result holds sensitive values: use it without logging it.

La tabla anterior enumera los 12 métodos principales. Los helpers de listener y de versión, y el contrato completo de cada método, están documentados en la repositorio GitHub.

Escuchar eventos

addListener devuelve un handle. Llama handle.remove() cuando la pantalla se desmonta.

Referencia completa

Sigue con la guía de @capgo/capacitor-native-biometric

Si estás usando Uso de @capgo/capacitor-native-biometric para planificar los flujos de autenticación y de cuenta, conéctalo con @capgo/capacitor-native-biometric para el detalle de implementación en @capgo/capacitor-native-biometric, Primeros pasos para los detalles de implementación en Primeros pasos, @capgo/capacitor-social-login para los detalles de implementación en @capgo/capacitor-social-login, @capgo/capacitor-passkey para los detalles de implementación en @capgo/capacitor-passkey, y Autenticación de dos factores para el detalle de implementación en la autenticación de dos factores.

FAQ

FAQ del plugin Native Biometric

¿Cómo instalo el plugin Native Biometric en una app de Capacitor?

Ejecuta "bun add @capgo/capacitor-native-biometric" (o "npm install @capgo/capacitor-native-biometric") y luego "bunx cap sync" para que los proyectos de iOS y Android carguen el code nativo. Impórtalo desde "@capgo/capacitor-native-biometric" en el code de tu app.

¿Funciona @capgo/capacitor-native-biometric con React, Vue y Angular?

Sí. Native Biometric es un paquete de Capacitor, así que funciona con cualquier framework web que corra dentro de Capacitor, incluidos Ionic, React, Vue, Angular, Svelte y JavaScript puro.

¿Qué versión de Capacitor soporta @capgo/capacitor-native-biometric?

Los plugins de Capgo siguen la versión mayor de Capacitor: usa la versión mayor del plugin que coincida con la versión mayor de tu Capacitor (por ejemplo, el plugin v8 con Capacitor 8). La tabla de compatibilidad del README de GitHub lista las versiones mantenidas.

¿Es @capgo/capacitor-native-biometric gratis y de código abierto?

Sí. El code fuente es público en GitHub en https://github.com/Cap-go/capacitor-native-biometric/ y el paquete se puede instalar gratis desde npm. Los reportes de errores y pull requests son bienvenidos.

¿Puedo actualizar code que usa Native Biometric sin pasar por una revisión de la App Store?

Instalar o actualizar el plugin cambia el code nativo, así que requiere un nuevo build para la tienda. Después, los cambios de JavaScript, HTML y CSS que llamen al plugin se pueden publicar al instante con las live updates de Capgo.

Publica cambios de Biometría nativa sin esperar la revisión de la app

Una vez que el plugin esté en tu store build, Capgo live updates envía tus cambios de JavaScript, HTML y CSS a los usuarios en minutos.

Empieza con Capgo