UNPKG

@sbaiahmed1/react-native-biometrics

Version:

React Native biometric authentication library for iOS and Android. Easy integration of Face ID, Touch ID, and Fingerprint authentication with TypeScript support. Compatible with new architecture (TurboModules) and Expo. Secure mobile login solution.

129 lines 4.38 kB
import { type LogEntry } from './logger'; export declare function isSensorAvailable(): Promise<BiometricSensorInfo>; export declare function simplePrompt(promptMessage: string): Promise<BiometricAuthResult>; export declare function authenticateWithOptions(options: BiometricAuthOptions): Promise<BiometricAuthResult>; export declare function createKeys(keyAlias?: string): Promise<KeyCreationResult>; export declare function deleteKeys(keyAlias?: string): Promise<KeyDeletionResult>; export declare function validateKeyIntegrity(keyAlias?: string): Promise<KeyIntegrityResult>; export declare function verifyKeySignature(keyAlias: string | undefined, data: string): Promise<SignatureResult>; export declare function validateSignature(keyAlias: string | undefined, data: string, signature: string): Promise<SignatureValidationResult>; export declare function getKeyAttributes(keyAlias?: string): Promise<KeyAttributesResult>; export declare function configureKeyAlias(keyAlias: string): Promise<void>; export declare function getDefaultKeyAlias(): Promise<string>; export declare function getAllKeys(): Promise<GetAllKeysResult>; export declare function getDiagnosticInfo(): Promise<DiagnosticInfo>; export declare function runBiometricTest(): Promise<BiometricTestResult>; export declare function setDebugMode(enabled: boolean): Promise<void>; export declare function getDeviceIntegrityStatus(): Promise<DeviceIntegrityResult>; export type BiometricConfig = { keyAlias?: string; keyPrefix?: string; }; export declare function configure(config: BiometricConfig): Promise<void>; export type BiometricSensorInfo = { available: boolean; biometryType?: 'Biometrics' | 'FaceID' | 'TouchID' | 'None' | 'Unknown'; error?: string; }; export type BiometricAuthOptions = { title?: string; subtitle?: string; description?: string; fallbackLabel?: string; cancelLabel?: string; disableDeviceFallback?: boolean; allowDeviceCredentials?: boolean; }; export type BiometricAuthResult = { success: boolean; error?: string; errorCode?: string; }; export type KeyCreationResult = { publicKey: string; }; export type KeyDeletionResult = { success: boolean; }; export type KeyIntegrityResult = { valid: boolean; keyExists: boolean; keyAttributes?: { algorithm: string; keySize: number; creationDate?: string; securityLevel: string; }; integrityChecks: { keyFormatValid: boolean; keyAccessible: boolean; signatureTestPassed: boolean; hardwareBacked: boolean; }; error?: string; }; export type SignatureResult = { success: boolean; signature?: string; error?: string; }; export type SignatureValidationResult = { valid: boolean; error?: string; }; export type KeyAttributesResult = { exists: boolean; attributes?: { algorithm: string; keySize: number; purposes: string[]; digests: string[]; padding: string[]; creationDate?: string; securityLevel: string; hardwareBacked: boolean; userAuthenticationRequired: boolean; }; error?: string; }; export type GetAllKeysResult = { keys: Array<{ alias: string; publicKey: string; }>; }; export type DiagnosticInfo = { platform: string; osVersion: string; deviceModel: string; biometricCapabilities: string[]; securityLevel: string; keyguardSecure: boolean; enrolledBiometrics: string[]; lastError?: string; }; export type BiometricTestResult = { success: boolean; results: { sensorAvailable: boolean; canAuthenticate: boolean; hardwareDetected: boolean; hasEnrolledBiometrics: boolean; secureHardware: boolean; }; errors: string[]; warnings: string[]; }; export type DeviceIntegrityResult = { isRooted?: boolean; isJailbroken?: boolean; isKeyguardSecure?: boolean; hasSecureHardware?: boolean; isCompromised: boolean; riskLevel: 'NONE' | 'LOW' | 'MEDIUM' | 'HIGH' | 'UNKNOWN'; error?: string; }; export { logger, LogLevel, type LogEntry, type LoggerConfig, enableLogging, setLogLevel, configureLogger, } from './logger'; export declare function getLogs(): LogEntry[]; export declare function clearLogs(): void; //# sourceMappingURL=index.d.ts.map