/cordova-plugin-fingerprint-aio

:point_up_2: :iphone: Cordova Plugin for fingerprint sensors (and FaceID) with Android and iOS support

Primary LanguageJavaMIT LicenseMIT

Cordova Plugin Fingerprint All-In-One

Android and iOS

Gitter chat GitHub license Build Status Issue Count Dependency Status

NPM

This plugin provides a single and simple interface for accessing fingerprint APIs on both Android 6+ and iOS.

Features

  • Check if fingerprint scanner is available
  • Fingerprint authentication
  • Ionic Native support
  • ngCordova support
  • Fallback options
  • Now with FaceID on iPhone X

Platforms

  • Android
  • iOS - XCode 9.2 or higher required
    • Please set <preference name="UseSwiftLanguageVersion" value="3.2" /> in your config.xml

How to use


Tutorial about using this plugin with Ionic thanks to Paul Halliday

Examples

ngCordova Example

Ionic Native Example


Install

Install from NPM

cordova plugin add cordova-plugin-fingerprint-aio --save

If you want to set a FaceID description use:

cordova plugin add cordova-plugin-fingerprint-aio --variable FACEID_USAGE_DESCRIPTION="Login now...."

or use this Github repo

Check 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'  
      */
      alert("Fingerprint available");
    }

    function isAvailableError(message) {
      alert(message);
    }

Show authentication dialogue

Fingerprint.show({
      clientId: "Fingerprint-Demo",
      clientSecret: "password" //Only necessary for Android
    }, successCallback, errorCallback);

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

    function errorCallback(err){
      alert("Authentication invalid " + err);
    }

Optional parameters

  • disableBackup: If true remove backup option on authentication dialogue for Android. Default false.
  • localizedFallbackTitle (iOS only): Title of fallback button.
  • localizedReason (iOS only): Description in authentication dialogue.

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

Android

iOS

License

  • Project and iOS source -> MIT
  • Android source -> MIT and Apache 2.0