3.0.5 • Published 4 years ago
cordova-plugin-ebw-fingerprint-aio v3.0.5
Cordova Plugin Fingerprint All-In-One
For Android and iOS
This plugin provides a single and simple interface for accessing fingerprint APIs on both Android 6+ and iOS.
Features
- Check if a fingerprint scanner is available
- Fingerprint authentication
- Ionic Native support
- ngCordova support
- Fallback options
- Now with FaceID on iPhone X
- ⚡️ Works with Capacitor. Try it out ⚡️
Platforms
- Android - Minimum SDK 23
- iOS - XCode 9.2 or higher required
- Please set
<preference name="UseSwiftLanguageVersion" value="4.0" />in your config.xml
- Please set
How to use
Tutorial about using this plugin with Ionic thanks to Paul Halliday
Install
Install from NPM
cordova plugin add cordova-plugin-fingerprint-aio --saveIf you want to set a FaceID description use:
cordova plugin add cordova-plugin-fingerprint-aio --variable FACEID_USAGE_DESCRIPTION="Login now...."Use the release candidate for testing the latest fixes
You can use preview versions with the rc tag on npm.
cordova plugin add cordova-plugin-fingerprint-aio@rcUse this Github repo
Get the latest development version. Not recommended!
cordova plugin add https://github.com/NiklasMerz/cordova-plugin-fingerprint-aio.gitCheck if fingerprint authentication is available
Fingerprint.isAvailable(isAvailableSuccess, isAvailableError);
function isAvailableSuccess(result) {
/*
result depends on device and os.
iPhone X will return 'face' other Android or iOS devices will return 'finger' Android P+ will return 'biometric'
*/
alert("Fingerprint available");
}
function isAvailableError(error) {
// 'error' will be an object with an error code and message
alert(error.message);
}Show authentication dialogue
Fingerprint.show({
description: "Some biometric description"
}, successCallback, errorCallback);
function successCallback(){
alert("Authentication successful");
}
function errorCallback(error){
alert("Authentication invalid " + error.message);
}Optional parameters
- title: Title in authentication dialogue. Default:
"<APP_NAME> Biometric Sign On" - subtitle: Subtitle in authentication dialogue. Default:
null - description: Description in authentication dialogue. Defaults:
- iOS:
"Authenticate"(iOS' evaluatePolicy() requires this field) - Android:
null
- iOS:
- fallbackButtonTitle: Title of fallback button. Defaults:
- When disableBackup is true
"Cancel"
- When disableBackup is false
- iOS:
"Use PIN" - Android:
"Use Backup"(Because backup could be anything pin/pattern/password ..haven't figured out a reliable way to determine lock type yet source)
- iOS:
- When disableBackup is true
- disableBackup: If
trueremove backup option on authentication dialogue. Default:false. This is useful if you want to implement your own fallback. - cancelButtonTitle: For cancel button on Android
- secret: String secret to encrypt and save
- loadSecret: If
truepreviously saved secret will be loaded as a result of successful authentication. - invalidateOnEnrollment: If
truesecret will be deleted when biometry items are deleted or enrolled
Constants
- BIOMETRIC_UNKNOWN_ERROR =
-100; - BIOMETRIC_UNAVAILABLE =
-101; - BIOMETRIC_AUTHENTICATION_FAILED =
-102; - BIOMETRIC_SDK_NOT_SUPPORTED =
-103; - BIOMETRIC_HARDWARE_NOT_SUPPORTED =
-104; - BIOMETRIC_PERMISSION_NOT_GRANTED =
-105; - BIOMETRIC_NOT_ENROLLED =
-106; - BIOMETRIC_INTERNAL_PLUGIN_ERROR =
-107; - BIOMETRIC_DISMISSED =
-108; - BIOMETRIC_PIN_OR_PATTERN_DISMISSED =
-109; - BIOMETRIC_SCREEN_GUARD_UNSECURED =
-110; - BIOMETRIC_LOCKED_OUT =
-111; - BIOMETRIC_LOCKED_OUT_PERMANENT =
-112; - BIOMETRIC_SECRET_NOT_FOUND =
-113;
Thanks to the authors of the original fingerprint plugins
Some code is refactored from their projects and I learned how to make Cordova plugins from their great plugins:
@EddyVerbruggen and @mjwheatley
Starting with version 3.0.0 the iOS and Android parts are written from scratch.
License
The project is MIT licensed: MIT.

