NativeScript Touch ID
已弃用,请从现在起使用 nativescript-fingerprint-auth(支持 Android!)
npm i --save nativescript-touchid

NativeScript Touch ID 插件

已弃用!请从现在起使用 nativescript-fingerprint-auth(支持 Android!)

使用场景

  • 您想知道运行您应用程序的设备是否已注册Touch ID
  • 您想在 {N} 应用程序中利用 TouchID 传感器。

安装

从命令提示符转到您的应用程序根目录并执行

tns plugin add nativescript-touchid

用法

如果您想要快速入门,请克隆我们的演示应用程序

想要比这些原始代码示例更好的指南?阅读Nic Raboy 关于此插件的文章

函数:available

  var touchid = require("nativescript-touchid");

touchid.available().then(
function(avail) {
console.log("Available? " + avail);
}
)

函数: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 : ""));
}
)

函数: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 : ""));
}
)

安全++

从 iOS9 开始,可以检查自上次检查以来是否已更改已注册指纹的列表。建议您添加此检查,以便您可以抵御针对应用程序的黑客攻击。有关更多详细信息,请参阅这篇文章

因此,在检查指纹后,除了在 available 中检查之外,还应该添加另一个检查。如果 didFingerprintDatabaseChange 返回 true,则您可能希望在再次接受有效指纹之前重新验证您的用户。

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
}
}
);
}
}
)

变更日志

  • 2.1.1 Xcode 8 兼容性 - 需要 NativeScript 2.3.0+。
  • 2.1.0 添加 didFingerprintDatabaseChange 以增强安全性。
  • 2.0.0 添加 verifyFingerprintWithCustomFallbackverifyFingerprint 现在回退到密码。
  • 1.2.0 现在可以使用内置密码界面作为回退。
  • 1.1.1 添加 TypeScript 定义。
  • 1.1.0 添加 Android 平台,该平台始终为 touchid.available 返回 false。