Démarrage
Copiez un prompt de configuration avec les étapes d'installation et le guide Markdown complet pour ce 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.
Installer
Section intitulée « Installer »Vous pouvez utiliser notre configuration assistée par l'IA pour installer le plugin. Ajoutez les Capgo compétences à votre outil IA en utilisant la commande suivante :
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsEnsuite, utilisez la prompt suivante :
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-native-biometric` plugin in my project.Si vous préférez la configuration manuelle, installez le plugin en exécutant les commandes suivantes et suivez les instructions spécifiques au plateforme ci-dessous :
bun add @capgo/capacitor-native-biometricbunx cap syncImporter
Section intitulée « Importer »import { NativeBiometric } from '@capgo/capacitor-native-biometric';API Aperçu
Section intitulée « API Aperçu »isAvailable
Section intitulée « isAvailable »Vérifie si le matériel d'authentification biométrique est disponible.
import { NativeBiometric } from '@capgo/capacitor-native-biometric';
await NativeBiometric.isAvailable();verifyIdentity
Section intitulée « verifyIdentity »Invite l'utilisateur à s'authentifier avec des biométriques.
import { NativeBiometric } from '@capgo/capacitor-native-biometric';
await NativeBiometric.verifyIdentity();getCredentials
Section intitulée “getCredentials”Obtient les informations d'identification stockées pour un serveur donné.
import { NativeBiometric } from '@capgo/capacitor-native-biometric';
await NativeBiometric.getCredentials({} as GetCredentialOptions);setCredentials
Section intitulée “setCredentials”Stocke les informations d'identification données pour un serveur donné.
import { NativeBiometric } from '@capgo/capacitor-native-biometric';
await NativeBiometric.setCredentials({} as SetCredentialOptions);deleteCredentials
Section intitulée “deleteCredentials”Supprime les informations d'identification stockées pour un serveur donné.
import { NativeBiometric } from '@capgo/capacitor-native-biometric';
await NativeBiometric.deleteCredentials({} as DeleteCredentialOptions);getSecureCredentials
Section intitulée “getSecureCredentials”Obtient les informations d'identification stockées pour un serveur donné, nécessitant une authentification biométrique. Les informations d'identification doivent avoir été stockées avec accessControl défini sur BIOMETRY_CURRENT_SET ou BIOMETRY_ANY.
Sur iOS, le système montre automatiquement le prompt biométrique lors de l'accès à l'élément Keychain protégé. Sur Android, BiometricPrompt est affiché avec un CryptoObject lié à la clé de décryptage des informations d'identification.
import { NativeBiometric } from '@capgo/capacitor-native-biometric';
await NativeBiometric.getSecureCredentials({} as GetSecureCredentialsOptions);isCredentialsSaved
Section intitulée “isCredentialsSaved”Vérifie si les informations d'identification sont déjà enregistrées pour un serveur donné.
import { NativeBiometric } from '@capgo/capacitor-native-biometric';
await NativeBiometric.isCredentialsSaved({} as IsCredentialsSavedOptions);Référence de type
Section intitulée “Référence de type”IsAvailableOptions
Section intitulée “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
Section intitulée “AvailableResult”Résultat du méthode isAvailable() indiquant la disponibilité de l'authentification biométrique.
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
Section intitulée “BiometryChangeListener”Type de rappel pour l'écouteur de changement de biométrie.
export type BiometryChangeListener = (result: AvailableResult) => void;BiometricOptions
Section intitulée “Options de biométrie”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
Section intitulée “Options de récupération de crédentials”export interface GetCredentialOptions { server: string;}Credentials
Section intitulée “Crédentials”export interface Credentials { username: string; password: string;}SetCredentialOptions
Section intitulée “Options de mise à jour de crédentials”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
Section intitulée “Options de suppression de crédentials”export interface DeleteCredentialOptions { server: string;}GetSecureCredentialsOptions
Section intitulée « Options de récupération de la sécurité des identifiants »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
Section intitulée « Options de vérification de la sauvegarde des identifiants »export interface IsCredentialsSavedOptions { server: string;}IsCredentialsSavedResult
Section intitulée « Résultat de la vérification de la sauvegarde des identifiants »export interface IsCredentialsSavedResult { isSaved: boolean;}AuthenticationStrength
Section intitulée « Force de l’authentification »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,}Source de vérité
Section intitulée « Source de vérité »Cette page est générée à partir du plugin’s src/definitions.tsRe-run the sync when the public API changes upstream.
Continuez de l'étape de démarrage
Section intitulée “Continuez de l'étape de démarrage”Si vous utilisez Démarrage pour planifier l'authentification et les flux de compte, connectez-le avec En utilisant @capgo/capacitor-native-biometric pour la capacité native dans En utilisant @capgo/capacitor-native-biometric, @capgo/capacitor-social-login pour le détail d'implémentation dans @capgo/capacitor-social-login, @capgo/capacitor-passkey pour le détail d'implémentation dans @capgo/capacitor-passkey, @capgo/capacitor-native-biometric pour les détails d'implémentation dans @capgo/capacitor-native-biometric, et Authentification à deux facteurs pour les détails d'implémentation dans Authentification à deux facteurs.