nativescript-touchid
v2.1.2
Published
Deprected, use nativescript-fingerprint-auth from now on (which has Android support!)
Downloads
30
Maintainers
Readme
NativeScript Touch ID Plugin
Deprecated! Use
nativescript-fingerprint-auth
from now on (which has Android support!)
Use when
- You want to know if the device runing your app has enrolled for Touch ID,
- You want to leverage the TouchID sensor in your {N} app.
Installation
From the command prompt go to your app's root folder and execute:
tns plugin add nativescript-touchid
Usage
If you want a quickstart, clone our demo app.
Want a nicer guide than these raw code samples? Read Nic Raboy's blog post about this plugin.
function: available
var touchid = require("nativescript-touchid");
touchid.available().then(
function(avail) {
console.log("Available? " + avail);
}
)
function: verifyFingerprint
touchid.verifyFingerprint({
message: 'Scan yer finger' // optional, shown in the fingerprint dialog (default: 'Scan your finger').
}).then(
function() {
console.log("Fingerprint was OK");
},
function(error) {
console.log("Fingerprint NOT OK" + (error.code ? ". Code: " + error.code : ""));
}
)
function: verifyFingerprintWithCustomFallback
touchid.verifyFingerprintWithCustomFallback({
message: 'Scan yer finger', // optional, shown in the fingerprint dialog (default: 'Scan your finger').
fallbackMessage: 'Enter PIN' // optional, the button label when scanning fails (default: 'Enter password').
}).then(
function() {
console.log("Fingerprint was OK");
},
function(error) {
console.log("Fingerprint NOT OK" + (error.code ? ". Code: " + error.code : ""));
}
)
Security++
Since iOS9 it's possible to check whether or not the list of enrolled fingerprints changed since the last time you checked it. It's recommended you add this check so you can counter hacker attacks to your app. See this article for more details.
So instead of checking the fingerprint after available
add another check.
In case didFingerprintDatabaseChange
returns true
you probably want to re-authenticate your user
before accepting valid fingerprints again.
touchid.available().then(
function(avail) {
if (avail) {
touchid.didFingerprintDatabaseChange().then(
function(changed) {
if (changed) {
// re-auth the user by asking for his credentials before allowing a fingerprint scan again
} else {
// call the fingerprint scanner
}
}
);
}
}
)
Changelog
- 2.1.1 Xcode 8 compatibility - requires NativeScript 2.3.0+.
- 2.1.0 Added
didFingerprintDatabaseChange
for enhanced security. - 2.0.0 Added
verifyFingerprintWithCustomFallback
,verifyFingerprint
now falls back to the passcode. - 1.2.0 You can now use the built-in passcode interface as fallback.
- 1.1.1 Added TypeScript definitions.
- 1.1.0 Added Android platform which will always return false for
touchid.available
.