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

Ionic 5: how to secure mobile app with Fingerprint AIO

我正在使用 Fingerprint AIO 来保护我的移动应用程序,但我对在这里做什么感到有点困惑。据我所知,这个库只公开了 2 个函数 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:这里是图书馆:https://github.com/NiklasMerz/cordova-plugin-fingerprint-aio

改为使用此样式:

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

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

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

从逻辑上讲,如果成功,您必须解锁应用程序并向前导航,如果失败,您应该阻止它并再次请求 pin 或指纹。

试试这个 post:

我正在尝试做与您相同的事情:使用 FingerprintAIO 获取某种代表此人指纹的令牌,然后我将 link 添加到他们在服务器中的用户名以允许指纹登录.

原来这不是它应该的工作方式。

得票最多的答案显示了一张有用的图表,其中概述了生物识别身份验证的工作原理。不幸的是,这有点困难:您需要存储一个密钥,而不是从指纹中获得一些唯一的密钥。这意味着你我将不得不重新考虑我们打算如何实施指纹认证!