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
- Android (Under development)
- Web
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)
Add biometric_access
to your pubspec.yaml
:
dependencies:
biometric_access: ^0.0.1
Run flutter pub get
to install the package.
- Download Mantra Management Client from playstore.
- Download Mantra RD Service App from playstore.
- Download Mantra L1 MSF110 RDservice app from playstore.
- Download Mantra IRIS MIS100V2 RDservice app from playstore.
- Download Morpho SCL RDService app from playstore.
- Download latest Driver and RDService from offical Site
- Download RD service
- Download Windows Driver
- 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
import 'package:biometric_access/biometric_access.dart';
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());
try {
String result = await BiometricAccess().getDeviceInfoAsXML();
print(result); //Returns Raw deviceInfo XML with out Validation
} catch (e) => print(e.toString());
try {
(String, DeviceInfoModel) result = await BiometricAccess().getDeviceInfoAsObject();
print(result); //Returns DeviceInfo as ([String],[DeviceInfoModel])
} catch (e) => print(e.toString());
try {
String result = await BiometricAccess().captureFingerPrintAsXml();
print(result); // Returns Raw capture XML with out Validation
} catch (e) => print(e.toString());
try {
(String, PidDataModel) result = await BiometricAccess().captureFingerPrintAsObject();
print(result); //Returns capture Response as ([String],[PidDataModel])
} catch (e) => print(e.toString());
We welcome contributions! Please feel free to submit pull requests, issues, or feature requests.