Biometric Access

The Biometric Access plugin allows for seamless integration of various biometric devices, including fingerprint and IRIS scanners, all within a single plugin. It provides developers with an easy-to-use API to implement secure and efficient biometric-based authentication across multiple supported devices

Supported Platforms

  • Android (Under development)
  • Web

Biometric Devices

Planned support for multiple biometric devices

  • Mantra (Tested on: MSF100)
  • Mantra IRIS (Tested on: MIS100V2)
  • Morpho (Partially Tested on: MSO 1300)
  • Secugen (only web)
  • Evolute (only web)
  • Startek (only web)

Installation

Add biometric_access to your pubspec.yaml:

dependencies:
  biometric_access: ^0.0.1

Run flutter pub get to install the package.

Drivers

Android

Web

Instructions for Web

  • Plug in your biometric device and make sure drive & RDService are installed correctly
  • On the initial setup, you will see a prompt in the bottom-right corner instructing you to unplug and replug the device for proper initialization.
  • After reconnecting the device, you should see another prompt confirming the connection of the biometric device.
  • Once the device is successfully connected to the server, a Framework ready to use message will appear

Usage/Examples

Import the Package

import 'package:biometric_access/biometric_access.dart';

Discover RDServices (Only for Web Platform)

try {
  List<RdServiceModel> result = await BiometricAccess().discoverRDServices();
  if (result.isNotEmpty) {
    result.forEach((e)=> print(e.rdInfo));
  _biometricAccessPlugin.setRDService=result[0]; //Update Current RDService
  } else {
    print('No RDService found, please restart services on Windows'); 
  }
 } on RDClientNotFound catch (err)  {
    print(err.toJson());
 } catch (e) => customToast(e.toString());

Device Info as XML

try {
  String result = await BiometricAccess().getDeviceInfoAsXML();
  print(result); //Returns Raw deviceInfo XML with out Validation
 } catch (e) => print(e.toString());

Device Info as (String, DeviceInfoModel)

try {
  (String, DeviceInfoModel) result = await BiometricAccess().getDeviceInfoAsObject();
  print(result); //Returns DeviceInfo as ([String],[DeviceInfoModel])
 } catch (e) => print(e.toString());

Capture Finger print as XML

try {
  String result = await BiometricAccess().captureFingerPrintAsXml();
  print(result); // Returns Raw capture XML with out Validation
 } catch (e) => print(e.toString());

Capture Finger print as (String, PidDataModel)

try {
  (String, PidDataModel) result = await BiometricAccess().captureFingerPrintAsObject();
  print(result); //Returns capture Response as ([String],[PidDataModel])
 } catch (e) => print(e.toString());

Contributing

We welcome contributions! Please feel free to submit pull requests, issues, or feature requests.

License

MIT License

Authors