Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 离子5:如何使用指纹AIO保护移动应用程序_Android_Ios_Cordova_Ionic Framework_Fingerprint - Fatal编程技术网

Android 离子5:如何使用指纹AIO保护移动应用程序

Android 离子5:如何使用指纹AIO保护移动应用程序,android,ios,cordova,ionic-framework,fingerprint,Android,Ios,Cordova,Ionic Framework,Fingerprint,我正在使用指纹AIO来保护我的移动应用程序,但我有点不知道该怎么做。据我所知,这个库只公开了两个函数isAvailable()和show()。所以我在我的项目中尝试一下: import { FingerprintAIO, FingerprintOptions } from '@ionic-native/fingerprint-aio/ngx'; initFingerprint() { const opt: FingerprintOptions = { title:

我正在使用指纹AIO来保护我的移动应用程序,但我有点不知道该怎么做。据我所知,这个库只公开了两个函数
isAvailable()
show()
。所以我在我的项目中尝试一下:

  import { FingerprintAIO, FingerprintOptions } from '@ionic-native/fingerprint-aio/ngx';

  initFingerprint() {
    const opt: FingerprintOptions = {
      title: 'Fingerprint - FaceID authentication',
      subtitle: "It's quick and easy",
      description: '',
      fallbackButtonTitle: 'Use Pin',
      cancelButtonTitle: 'Cancel',
      disableBackup: false
    }
    this.faio.show(opt)
      .then((result) => {
        console.log(result)
        // What should I do here ???
      })
      .catch((error) => {
        console.log(error);
      })
  }
上面的函数工作正常,但是在
then()
回调中应该做什么?我如何告诉我的服务器该用户已经用他们的手指(或脸)成功地进行了身份验证

我的假设是,我需要在文本文件中加密他们的用户名和密码,然后在他们成功通过身份验证并将该信息发送到我的服务器时解密。但这似乎有很多事情要做


p/s:这里是库:

请改用此样式:

this.faio.show(opt, successCallback, errorCallback);

function successCallback(){
  alert("Authentication successful");
}

function errorCallback(error){
  alert("Authentication invalid " + error.message);
}

如果成功,您必须解锁应用程序并向前导航,如果出现错误,您应该阻止它并再次请求pin或指纹。

尝试查看此帖子:

我试着做和你一样的事情:使用指纹AIO获取某种表示此人指纹的令牌,然后我将其链接到服务器中的用户名以允许指纹登录

事实证明这不是它应该怎么工作的


投票最多的答案显示了一个有用的图表,概述了生物认证应该如何工作。不幸的是,这有点困难:您需要存储一个密钥,而不是从指纹中获取一些唯一的密钥。这意味着你和我将不得不重新考虑我们计划如何重新考虑我们如何实施指纹认证

生物特征认证请求仅返回yes/no以指示用户是否经过认证。你如何处理结果取决于你自己。例如,您可以使用身份验证从密钥链获取凭据。在iOS上,您可以让来自钥匙链的凭据请求自动触发生物特征认证。我想问的是在
成功回调()中要做什么。我需要告诉我的服务器,这个用户已经成功地进行了身份验证,但我不知道如何做到这一点。通常,如果他们使用用户名+密码登录,我的服务器将使用该信息进行验证并使用令牌进行响应。但如果他们使用指纹,我的服务器将无法验证。我需要在他们的设备上存储用户名/密码吗?@LêQuangBảo首先,从逻辑上讲,在每个入口询问用户名和密码是不合适的。所以我建议你只保留一个代币,如果你有或没有代币,在每次入场检查中。然后,对于每个入口,他们要么输入pin,然后您检查pin,然后检查令牌,然后向服务器发送请求。对于指纹,我有一个想法,但我不确定这是否正确,如果指纹有效,您可以通过编程方式输入pin。因此,在success回调中,可以调用success pin函数。