Files
AuthenticationSdk/src/screen/authorised/deviceAuth.ts

41 lines
1.1 KiB
TypeScript

import ReactNativeBiometrics from 'react-native-biometrics';
const rnBiometrics = new ReactNativeBiometrics({
allowDeviceCredentials: true, // 👈 IMPORTANT (PIN / Pattern)
});
export const authenticateWithDeviceLock = async () => {
try {
const { available } = await rnBiometrics.isSensorAvailable();
if (!available) {
return {
success: false,
message: 'Device lock is not available',
};
}
const result = await rnBiometrics.simplePrompt({
promptMessage: 'Authenticate to continue',
cancelButtonText: 'Cancel',
});
if (result.success) {
return {
success: true,
message: 'Authentication successful',
};
} else {
return {
success: false,
message: 'Authentication cancelled',
};
}
} catch (error: any) {
return {
success: false,
message: error?.message || 'Authentication failed',
};
}
};