Documentation is under contruction.

Flutter plugin which lets you to generate key pair and do cryptographic signing using biometric authentication.

Heavily influenced by local_auth

Currently only supported for Android

Usage in Dart

Import the relevant file:

import 'package:flutter_biometrics/flutter_biometrics.dart';

Available methods:

bool authAvailable =
    await FlutterBiometrics().authAvailable();
List<BiometricType> getAvailableBiometricTypes =
    await FlutterBiometrics().getAvailableBiometricTypes();
String publicKeyAsBase64 =
    await FlutterBiometrics().createKeys(reason: 'Please authenticate to generate keys');
bool signedPayloadAsBase64 =
    await FlutterBiometrics().sign(payload: 'base64string', reason: 'Please authenticate to sign payload');

Android Integration (taken from local_auth)

Note that local_auth plugin requires the use of a FragmentActivity as opposed to Activity. This can be easily done by switching to use FlutterFragmentActivity as opposed to FlutterActivity in your manifest (or your own Activity class if you are extending the base class).

Update your project's AndroidManifest.xml file to include the USE_FINGERPRINT permissions:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  <uses-permission android:name="android.permission.USE_FINGERPRINT"/>

Getting Started

For help getting started with Flutter, view Flutter online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.