biometric_auth_lock 0.3.1
biometric_auth_lock: ^0.3.1 copied to clipboard
A reusable biometric authentication and PIN lock service for Flutter apps with support for fingerprint, Face ID, and PIN fallback
Changelog #
0.3.1 #
- Fixed
LocalAuthService.setupBiometric(and the biometric-not-supported branch ofresolveWithBiometric) overwriting the persistedBiometricAuthDatawith a fresh object instead ofcopyWith-ing the existing one — this silently wiped the fallback PIN (andlastAuthenticated) whenever a user enabled/accepted biometric authentication after having already set a PIN.
0.3.0 #
- Added
getPinCodeAfterBiometricAuthtoILocalAuthService/LocalAuthService— reveals the stored PIN fallback after a successful biometric check, throwingBiometricAuthPinNotConfiguredExceptionorBiometricAuthPinFailedExceptionwhen it can't. - Added
BiometricLockService.getPinAfterBiometricAuth(...)facade method — same behavior, returnsnullinstead of throwing. - Added new exception types (
BiometricPinAuthExceptionand subclasses), now exported from the package root. analysis_options.yamlnow excludes generated platform folders (android/,ios/,build/, etc.) from analysis.
0.2.1 #
- Add french documentation
0.2.0 #
- Breaking:
BiometricLockService.withDefaults(LocalStorage)renamed toBiometricLockService.withStorage(LocalStorage). - Added parameterless
BiometricLockService.withDefaults()— creates its ownSharedPreferencesLocalStorageinternally. Consumers no longer need to importlocal_storage_implfor the common case. - Added storage backend documentation (
SecureLocalStorage,SharedPreferencesLocalStorage,MapLocalStorage) with usage examples. - Restructured Platform Setup: moved
FlutterFragmentActivityrequirement from Troubleshooting into the Android setup section. - Fixed README code samples that attempted to instantiate the abstract
LocalStorageclass directly.
0.1.0 #
- Initial release
- Biometric authentication support (fingerprint, Face ID)
- PIN code fallback authentication
- Persistent authentication state storage
- Multi-platform support (Android, iOS)
- Functional error handling with Either
- Comprehensive exception types
- High-level and low-level API interfaces