flutter_local_authentication 2.1.0
flutter_local_authentication: ^2.1.0 copied to clipboard
A flutter plugin that allows access to Local Authentication / Biometrics on iOS, macOS, Linux and Android.
2.1.0 #
- Add Windows Hello support for
canAuthenticate,getAvailability,getBiometryType,authenticateandcancelAuthentication - Windows uses the system-selected Windows Hello verifier and reports
multiplefor the biometry type because Windows does not expose the enrolled sensor through this API
2.0.0 #
- Add
AuthenticationMethod(biometricsOnly, biometricsOrDeviceCredential, deviceCredentialOnly) as an optionalmethodparameter ofcanAuthenticateandauthenticate, on Android, iOS, macOS and Linux. Users without enrolled biometrics can authenticate with their device credential (thanks @tmpfs for the idea in #6) - Unsupported methods make
canAuthenticatereturn false, andauthenticatefail with theunsupported_methoderror code - Add
getAvailability, that tells why the user can not authenticate (notEnrolled,lockedOut,credentialNotSet,notAvailable,unsupportedMethod) - Add
getBiometryType(face,fingerprint,iris,multiple,none) - Add
cancelAuthentication, to dismiss the prompt from the app authenticatethrows anAuthenticationException(aPlatformException) with areasonthat is the same on every platform:userCanceled,systemCanceled,lockedOut,notEnrolled,notAvailable,credentialNotSet,unsupportedMethod,failed- iOS / macOS: add Swift Package Manager support, next to CocoaPods
- iOS / macOS: share one Swift implementation in the
darwinfolder - Fix
.pubignore, so build outputs are no longer included in the published package - Android: accept any
FragmentActivityas host, instead of requiringFlutterFragmentActivity. A plainFlutterActivityno longer crashes the app at startup:authenticatefails with a descriptive error, and the other methods work - Behaviour change: the default method is biometricsOnly on every platform
- macOS:
authenticateno longer falls back to the user's password by default - Android:
canAuthenticateno longer returns true when only a device credential is set, which madeauthenticatefail afterwards
- macOS:
- iOS / macOS: every authentication prompts the user. A previous successful authentication is not reused, except for the Touch ID allowable reuse duration
- Fix
setLocalizationModelnever completing on Android, iOS and macOS, and make it return aFuture<void>so it can be awaited - iOS / macOS: the cancel button uses the
cancelButtonTitleof the localization model, and the fallback button is hidden when the method is biometricsOnly - iOS / macOS: compiles with Swift 6 (language mode 6, strict concurrency)
- Builds against the latest toolchains: Android Gradle Plugin 9.1 / Gradle 9.3 / Kotlin 2.4 (compileSdk 36, Java 17), Xcode 27
- Migrates the Android plugin to built-in Kotlin
- Minimum Android SDK is now 24 (was 19)
- Minimum iOS version is now 15.0 (was 12.0)
- Minimum macOS version is now 12.0 (was 10.11)
- Requires:
- sdk: '^3.12.0'
- flutter: '>=3.44.0'
1.2.0 #
- Add GitHub actions for publishing releases to pub.dev automatically
- Downgraded Flutter SDK
- Requires:
- sdk: '>=3.1.0 <4.0.0'
- flutter: '3.0.0'
1.1.0 #
- Add a localization model for messages shown to the user
1.0.0 #
- Implemented 'setTouchIDAuthenticationAllowableReuseDuration' for iOS and macOS
- Implemented 'getTouchIDAuthenticationAllowableReuseDuration' for iOS and macOS
- touchIDAuthenticationAllowableReuseDuration defaults to 0 Docs
- Requires:
- sdk: '>=3.1.3 <4.0.0'
- Minimun iOS version 12.0
- Improved documentation
0.0.3 #
-
Implements 'authenticate' operation in all platforms
-
Android using Biometrics API
-
macOS and iOS using Local Authentication
- macOS uses LAPolicy deviceOwnerAuthentication
- iOS uses LAPolicy deviceOwnerAuthenticationWithBiometrics
-
Linux using libfprint (fprintd-verify)
-
0.0.2 #
- Implements 'supports' operation on Android using Biometrics API
0.0.1 #
- Implements 'supports' operation on macOS
- Implements 'supports' operation on Linux
- Implements 'supports' operation on iOS