Inicio
Copie un prompt de configuración con los pasos de instalación y la guía de markdown completa para este plugin.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-native-biometric`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/native-biometric/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
Instalar
Sección titulada “Instalar”Puedes utilizar nuestra configuración asistida por IA para instalar el plugin. Agrega las Capgo habilidades a tu herramienta de IA utilizando el siguiente comando:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsLuego utiliza el siguiente prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-native-biometric` plugin in my project.Si prefieres la configuración Manual, instala el plugin ejecutando los siguientes comandos y sigue las instrucciones específicas de la plataforma a continuación:
bun add @capgo/capacitor-native-biometricbunx cap syncImportar
Sección titulada “Importar”import { NativeBiometric } from '@capgo/capacitor-native-biometric';API Resumen
Sección titulada “API Resumen”isAvailable
Sección titulada “isAvailable”Verifica si el hardware de autenticación biométrica está disponible.
import { NativeBiometric } from '@capgo/capacitor-native-biometric';
await NativeBiometric.isAvailable();verifyIdentity
Sección titulada “verifyIdentity”Pide al usuario que se autentique con biométricas.
import { NativeBiometric } from '@capgo/capacitor-native-biometric';
await NativeBiometric.verifyIdentity();getCredentials
Sección titulada “getCredentials”Obtiene las credenciales almacenadas para un servidor dado.
import { NativeBiometric } from '@capgo/capacitor-native-biometric';
await NativeBiometric.getCredentials({} as GetCredentialOptions);setCredentials
Sección titulada “setCredentials”Almacena las credenciales dadas para un servidor dado.
import { NativeBiometric } from '@capgo/capacitor-native-biometric';
await NativeBiometric.setCredentials({} as SetCredentialOptions);deleteCredentials
Sección titulada “deleteCredentials”Elimina las credenciales almacenadas para un servidor dado.
import { NativeBiometric } from '@capgo/capacitor-native-biometric';
await NativeBiometric.deleteCredentials({} as DeleteCredentialOptions);getSecureCredentials
Sección titulada “getSecureCredentials”Obtiene las credenciales almacenadas para un servidor dado, requiriendo autenticación biométrica. Las credenciales deben haberse almacenado con accessControl establecido en BIOMETRY_CURRENT_SET o BIOMETRY_ANY.
On iOS, el sistema muestra automáticamente el prompt biométrico al acceder al elemento de Keychain protegido. En Android, se muestra BiometricPrompt con un CryptoObject vinculado a la clave de descifrado de la credencial.
import { NativeBiometric } from '@capgo/capacitor-native-biometric';
await NativeBiometric.getSecureCredentials({} as GetSecureCredentialsOptions);isCredentialsSaved
Sección titulada “isCredentialsSaved”Verifica si las credenciales ya están guardadas para un servidor determinado.
import { NativeBiometric } from '@capgo/capacitor-native-biometric';
await NativeBiometric.isCredentialsSaved({} as IsCredentialsSavedOptions);Referencia de tipos
Sección titulada “Referencia de tipos”IsAvailableOptions
Sección titulada “IsAvailableOptions”export interface IsAvailableOptions { /** * Only for iOS. * Specifies if should fallback to passcode authentication if biometric authentication is not available. * On Android, this parameter is ignored due to BiometricPrompt API constraints: * DEVICE_CREDENTIAL authenticator and negative button (cancel) are mutually exclusive. */ useFallback: boolean;}AvailableResult
Sección titulada “AvailableResult”Resultado del método isAvailable() que indica la disponibilidad de la autenticación biométrica.
export interface AvailableResult { /** * Whether authentication is available (biometric or fallback if useFallback is true) */ isAvailable: boolean; /** * The strength of available authentication method (STRONG, WEAK, or NONE) */ authenticationStrength: AuthenticationStrength; /** * The primary biometry type available on the device. * On Android devices with multiple biometry types, this returns MULTIPLE. * Use this for display purposes only - always use isAvailable for logic decisions. */ biometryType: BiometryType; /** * Whether the device has a secure lock screen (PIN, pattern, or password). * This is independent of biometric enrollment. */ deviceIsSecure: boolean; /** * Whether strong biometry (Face ID, Touch ID, or fingerprint on devices that consider it strong) * is specifically available, separate from weak biometry or device credentials. */ strongBiometryIsAvailable: boolean; /** * Error code from BiometricAuthError enum. Only present when isAvailable is false. * Indicates why biometric authentication is not available. * @see BiometricAuthError */ errorCode?: BiometricAuthError;}BiometryChangeListener
Sección titulada “BiometryChangeListener”Tipo de llamada de retorno para el escuchador de cambios de biometría.
export type BiometryChangeListener = (result: AvailableResult) => void;BiometricOptions
Sección titulada “BiometricOptions”export interface BiometricOptions { reason?: string; title?: string; subtitle?: string; description?: string; negativeButtonText?: string; /** * Only for iOS. * Specifies if should fallback to passcode authentication if biometric authentication fails. * On Android, this parameter is ignored due to BiometricPrompt API constraints: * DEVICE_CREDENTIAL authenticator and negative button (cancel) are mutually exclusive. */ useFallback?: boolean; /** * Only for iOS. * Set the text for the fallback button in the authentication dialog. * If this property is not specified, the default text is set by the system. */ fallbackTitle?: string; /** * Only for Android. * Set a maximum number of attempts for biometric authentication. The maximum allowed by android is 5. * @default 1 */ maxAttempts?: number; /** * Only for Android. * Specify which biometry types are allowed for authentication. * If not specified, all available types will be allowed. * @example [BiometryType.FINGERPRINT, BiometryType.FACE_AUTHENTICATION] */ allowedBiometryTypes?: BiometryType[];}GetCredentialOptions
Sección titulada “GetCredentialOptions”export interface GetCredentialOptions { server: string;}Credentials
Sección titulada “Credentials”export interface Credentials { username: string; password: string;}SetCredentialOptions
Sección titulada “SetCredentialOptions”export interface SetCredentialOptions { username: string; password: string; server: string; /** * Access control level for the stored credentials. * When set to BIOMETRY_CURRENT_SET or BIOMETRY_ANY, the credentials are * hardware-protected and require biometric authentication to access. * * On iOS, this adds SecAccessControl to the Keychain item. * On Android, this creates a biometric-protected Keystore key and requires * BiometricPrompt authentication for both storing and retrieving credentials. * * @default AccessControl.NONE * @since 8.4.0 */ accessControl?: AccessControl;}DeleteCredentialOptions
Sección titulada “DeleteCredentialOptions”export interface DeleteCredentialOptions { server: string;}GetSecureCredentialsOptions
Sección titulada “GetSecureCredentialsOptions”export interface GetSecureCredentialsOptions { server: string; /** * Reason for requesting biometric authentication. * Displayed in the biometric prompt on both iOS and Android. */ reason?: string; /** * Title for the biometric prompt. * Only for Android. */ title?: string; /** * Subtitle for the biometric prompt. * Only for Android. */ subtitle?: string; /** * Description for the biometric prompt. * Only for Android. */ description?: string; /** * Text for the negative/cancel button. * Only for Android. */ negativeButtonText?: string;}IsCredentialsSavedOptions
Sección titulada “IsCredentialsSavedOptions”export interface IsCredentialsSavedOptions { server: string;}IsCredentialsSavedResult
Sección titulada “IsCredentialsSavedResult”export interface IsCredentialsSavedResult { isSaved: boolean;}AuthenticationStrength
Sección titulada “AuthenticationStrength”export enum AuthenticationStrength { /** * No authentication available, even if PIN is available but useFallback = false */ NONE = 0, /** * Strong authentication: Face ID on iOS, fingerprints on devices that consider fingerprints strong (Android). * Note: PIN/pattern/password is NEVER considered STRONG, even when useFallback = true. */ STRONG = 1, /** * Weak authentication: Face authentication on Android devices that consider face weak, * or PIN/pattern/password if useFallback = true (PIN is always WEAK, never STRONG). */ WEAK = 2,}Fuente de Verdad
Sección titulada “Fuente de Verdad”Esta página se genera desde el plugin’s src/definitions.ts. Re-ejecuta la sincronización cuando el público API cambia en la fuente.
Sigue adelante desde Inicio
Título de la sección “Sigue adelante desde Inicio”Si estás utilizando Inicio para planificar la autenticación y los flujos de cuenta, conecta con Usando @capgo/capacitor-biometría-nativa para la capacidad nativa en Usando @capgo/capacitor-biometría-nativa, @capgo/capacitor-iniciode-sesión-social para el detalle de implementación en @capgo/capacitor-iniciode-sesión-social, @capgo/capacitor-clave-de-pasaje para el detalle de implementación en @capgo/capacitor-clave-de-pasaje @capgo/capacitor-autenticación-biográfica nativa para el detalle de implementación en @capgo/capacitor-autenticación-biográfica nativa, y Autenticación en dos factores para el detalle de implementación en Autenticación en dos factores.