vhinic / capacitor-biometric-auth

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Capacitor Biometric Auth

NPM Downloads Build Status

Installation

  • npm i capacitor-biometric-auth
  • yarn add capacitor-biometric-auth

Usage

import { Plugins } from "@capacitor/core";

const { BiometricAuth } = Plugins;

const available = await BiometricAuth.isAvailable()

if (available.has) {
  const authResult = await BiometricAuth.verify({...})
  if (authResult.verified) {
    // success authentication
  } else {
    // fail authentication
  }
} else {
  // biometric not available
}

Methods

verify(options)

Open biometric popup

option values decription
reason any string Popup label for iOS
title any string Title of prompt in Android
subTitle any string Subtitle of prompt in Android
description any string Description of prompt in Android
cancel any string Text for cancel button on prompt in Android
const result = await BiometricAuth.verify({reason: "Message ..."})

result

{
  verified: true // true if biometric auth was succes or false otherwise,
  status: {} // an object with errors matching biometric auth fails (on if verified === false)
}

status

error description
10 The user failed to provide valid credentials
11 Authentication was cancelled by application
12 The context is invalid
13 Not interactive
14 Passcode is not set on the device
15 Authentication was cancelled by the system
16 The user did cancel
17 The user chose to use the fallback

isAvailable()

Checks if biometric is enabled

const result = await BiometricAuth.isAvailable()

result

{
  has: true, // true if has biometric auth enabled, false otherwise
  status: {...} // an object with errors
}

status

error description
1 Biometric not available
2 Authentication could not continue because the user has been locked out of biometric authentication, due to failing authentication too many times.
3 Authentication could not start because the user has not enrolled in biometric authentication.

About


Languages

Language:Java 43.5%Language:Swift 38.8%Language:TypeScript 7.3%Language:Ruby 4.9%Language:Objective-C 4.2%Language:JavaScript 1.5%