@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.
172 lines • 6.19 kB
TypeScript
import { type LogEntry } from './logger';
import { BiometricStrength } from './types';
export declare function isSensorAvailable(options?: {
biometricStrength?: BiometricStrength;
}): Promise<BiometricSensorInfo>;
export declare function simplePrompt(promptMessage: string, options?: {
biometricStrength?: BiometricStrength;
}): Promise<BiometricAuthResult>;
export { BiometricStrength } from './types';
export declare function authenticateWithOptions(options: BiometricAuthOptions): Promise<BiometricAuthResult>;
export declare function createKeys(keyAlias?: string, keyType?: 'rsa2048' | 'ec256', biometricStrength?: BiometricStrength): 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, promptTitle?: string, promptSubtitle?: string, cancelButtonText?: 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(customAlias?: string): 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;
errorCode?: string;
fallbackUsed?: boolean;
biometricStrength?: BiometricStrength;
};
export type BiometricAuthOptions = {
title?: string;
subtitle?: string;
description?: string;
fallbackLabel?: string;
cancelLabel?: string;
disableDeviceFallback?: boolean;
allowDeviceCredentials?: boolean;
biometricStrength?: BiometricStrength;
};
export type BiometricAuthResult = {
success: boolean;
error?: string;
errorCode?: string;
fallbackUsed?: boolean;
biometricStrength?: BiometricStrength;
};
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;
errorCode?: 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;
import { type EventSubscription } from 'react-native';
import type { BiometricChangeEvent } from './NativeReactNativeBiometrics';
export type { BiometricChangeEvent };
/**
* Subscribes to biometric change events.
*
* @param callback - Function to be called when biometric changes are detected
* @returns EventSubscription that can be used to unsubscribe
*/
export declare function subscribeToBiometricChanges(callback: (event: BiometricChangeEvent) => void): EventSubscription;
/**
* Unsubscribes from biometric change events.
*
* @param subscription - The EventSubscription returned from subscribeToBiometricChanges
*/
export declare function unsubscribeFromBiometricChanges(subscription: EventSubscription): void;
/**
* Starts biometric change detection.
* This will begin monitoring for changes in biometric enrollment.
*
* @returns Promise that resolves when detection is started
*/
export declare function startBiometricChangeDetection(): Promise<void>;
/**
* Stops biometric change detection.
* This will stop monitoring for changes in biometric enrollment.
*
* @returns Promise that resolves when detection is stopped
*/
export declare function stopBiometricChangeDetection(): Promise<void>;
//# sourceMappingURL=index.d.ts.map