DevGang
Авторизоваться

Локальная аутентификация Flutter с использованием биометрии – Face ID, Touch ID, отпечаток пальца

По мере роста сообщества Flutter оно также создает множество библиотек для поддержки встроенной функциональности. Когда отпечатки пальцев пользователя, характеристики лица или голос используются для аутентификации его идентификации, это называется биометрической аутентификацией. Давайте посмотрим, как вы можете реализовать локальную аутентификацию для биометрии во Flutter.

Почти каждый телефон, представленный сегодня на рынке, имеет какой-либо вид биометрической аутентификации. Нам больше не нужно вводить пароль, так как мы можем просто нажать на наши отпечатки пальцев, чтобы подтвердить вашу личность. Аутентификация по отпечаткам пальцев в приложениях Flutter - тема этого эссе.

Импорт пакета local_auth

Во-первых, мы включаем пакет local_auth в наш файл pubspec.yaml, чтобы мы могли использовать его в нашем проекте

dependencies:
  flutter:
    sdk: flutter
  # The following adds the Cupertino Icons font to your application.
  # Use with the CupertinoIcons class for iOS style icons.
  cupertino_icons: ^1.0.5
  local_auth: ^2.1.2
  local_auth_android: ^1.0.14
  local_auth_ios: ^1.0.10

Использование local_auth

Этот плагин Flutter позволяет нам аутентифицировать пользователей локально на устройстве с помощью этой функции.

Чтобы проверить, доступна ли локальная аутентификация на этом устройстве, вызовите canCheckBiometrics (если вам нужна поддержка биометрии) и/или isDeviceSupported() (если вам просто нужна аутентификация на уровне устройства):

final LocalAuthentication auth = LocalAuthentication();
final bool canAuthenticateWithBiometrics = await auth.canCheckBiometrics;
final bool canAuthenticate =
    canAuthenticateWithBiometrics || await auth.isDeviceSupported();

Не забудьте импортировать пакет в свой файл следующим образом:

import 'package:local_auth/local_auth.dart';

В настоящее время реализованы следующие биометрические типы:

  • BiometricType.face
  • BiometricType.fingerprint
  • BiometricType.weak
  • BiometricType.strong

Зарегистрированные биометрические данные

canCheckBiometrics указывает, доступна ли аппаратная поддержка, а не зарегистрированы ли на устройстве какие-либо биометрические данные. Чтобы получить список зарегистрированных биометрических данных, вызовите getAvailableBiometrics().

Типы зависят от устройства и платформы, и другие типы могут быть добавлены в будущем, поэтому, когда это возможно, вы не должны полагаться на определенные биометрические типы и только проверять, зарегистрирована ли какая-либо биометрия:

final List<BiometricType> availableBiometrics =
await auth.getAvailableBiometrics();

if (availableBiometrics.isNotEmpty) {
  // Some biometrics are enrolled.
}

if (availableBiometrics.contains(BiometricType.strong) ||
    availableBiometrics.contains(BiometricType.face)) {
  // Specific types of biometrics are available.
  // Use checks like this with caution!
}

Метод authentication() по возможности использует биометрическую аутентификацию, но также допускает откат к pin, шаблону или коду доступа. 

#Flutter
Комментарии
Чтобы оставить комментарий, необходимо авторизоваться

Присоединяйся в тусовку

В этом месте могла бы быть ваша реклама

Разместить рекламу