better_local_auth 0.0.6
better_local_auth: ^0.0.6 copied to clipboard
Enhanced local authentication plugin for biometrics with required cryptoObject support for Android security compliance.
Changelog #
0.0.6 #
Standard API Compatibility Restored #
- Android Compatibility Align: Restored full contract compatibility with the official
local_authpackage on Android. Removed custom mappings inBetterLocalAuth.java, returning raw"weak"and"strong"biometric capabilities directly over the platform channel. - Dart Platform Translation: Updated
default_method_channel_platform.dartto support translating'weak'and'strong'types back toBiometricType.weakandBiometricType.strongin Dart. This perfectly restores the official package behavior and prevents custom app checks (that rely on the original API contract) from breaking.
0.0.5 #
Security & Architecture Upgrades #
- Android Refactor: Replaced complex reflection for setting the negative button in
AuthenticationHelper.javawith a clean direct call to the native API using standardDialogInterface.OnClickListenerlambdas and@RequiresApiannotations. - Android Bugfix: Fixed a crucial mapping bug in
BetterLocalAuth.javawhere"strong"biometrics (like secure fingerprints) were mapped to"face"and"weak"biometrics were mapped to"fingerprint". Strong fingerprint devices now correctly returnBiometricType.fingerprintand show the correct fingerprint icons in the Dart UI. - iOS Secure Enclave Integration: Upgraded
KeychainHelper.storeInKeychain(...)inBetterLocalAuth.swiftto enforce hardware-protectedSecAccessControlwith.biometryAnyfor high-securityThisDeviceOnlykeychain profiles. This protects against client-side dynamic attacks (like Frida hooks) by locking the secure token directly inside the Apple Secure Enclave. - Hardened Cryptography: Removed insecure, software-only in-memory RSA keypair fallbacks in
AuthenticationHelper.java. The package now safely fails-fast if hardware-backed TEE key generation fails, removing potential bypass backdoors.
0.0.4 #
- Bugfix release
0.0.3 #
- Bugfix release
0.0.2 #
- Bugfix release
0.0.1 #
Initial release of better_local_auth package.
Features #
- Forked from
local_auth-3.0.1with enhanced security features - Required
cryptoObjectparameter for Android authentication - Required
keychainOptionsparameter for iOS authentication - Consolidated platform implementations into single package
- Removed support for Windows, Web, Linux, and macOS platforms
- Added
BetterLocalAuthenticationclass with enhanced API - Added migration helper utilities
- Comprehensive documentation and migration guide
Breaking Changes from local_auth-3.0.1 #
- Android:
cryptoObjectparameter is now required for allauthenticate()calls - iOS:
keychainOptionsparameter is now required for allauthenticate()calls - Platform Support: Windows, Web, Linux, and macOS platforms are no longer supported
- AuthenticationOptions: Now requires
cryptoObjectandkeychainOptionsparameters
New Features #
BetterLocalAuthenticationclass with factory methods for crypto objectsauthenticateEnhanced()method returningAuthResultwith detailed informationMigrationHelperutilities for analyzing and migrating fromlocal_auth- Enhanced error types for crypto and keychain operations
- Comprehensive example application
Security Improvements #
- Android authentication now requires cryptographic operations
- iOS authentication integrates with Keychain for secure storage
- Prevents security warnings from static analysis tools like Ostorlab
- Hardware-backed security on both platforms
Documentation #
- Comprehensive README with usage examples
- API reference documentation
- Migration guide from
local_auth - Troubleshooting guide
- Example application with all features demonstrated