Проверка подлинности по отпечаткамFingerprint Authentication

В этом руководстве описывается добавление проверки подлинности по отпечатку пальца, представленные в Android 6.0 в приложение Xamarin.Android.This guide discusses how to add fingerprint authentication, introduced in Android 6.0, to a Xamarin.Android application.

Обзор проверки подлинности по отпечатку пальцаFingerprint Authentication Overview

Поступление сканеров отпечатков пальцев на устройствах Android предоставляет приложениям вместо традиционных имени пользователя и пароля метод проверки подлинности пользователя.The arrival of fingerprint scanners on Android devices provides applications with an alternative to the traditional username/password method of user authentication. Использование отпечатков для аутентификации пользователя делает приложение использование безопасности, обеспечивающий меньшее вмешательство по сравнению имени пользователя и пароля.The use of fingerprints to authenticate a user makes it possible for an application to incorporate security that is less intrusive than a username and password.

API-интерфейсы FingerprintManager ориентироваться на устройства с сканер отпечатков пальцев, и вы выполняете уровень API 23 (Android 6.0) или более поздней версии.The FingerprintManager APIs target devices with a fingerprint scanner and are running API level 23 (Android 6.0) or higher. API-интерфейсы находятся в Android.Hardware.Fingerprints пространства имен.The APIs are found in the Android.Hardware.Fingerprints namespace. Библиотека поддержки Android v4 предоставляет версии отпечатка API-интерфейсы, предназначенные для более старых версиях Android.The Android Support Library v4 provides versions of the fingerprint APIs meant for older versions of Android. Совместимость API-интерфейсы находятся в Android.Support.v4.Hardware.Fingerprint пространства имен, распространяются через пакет Xamarin.Android.Support.v4 NuGet.The compatibility APIs are found in the Android.Support.v4.Hardware.Fingerprint namespace, are distributed through the Xamarin.Android.Support.v4 NuGet package.

FingerprintManager (и его аналог библиотека поддержки FingerprintManagerCompat) является основным классом для с помощью отпечатков пальцев, сканирование оборудования.The FingerprintManager (and its Support Library counterpart, FingerprintManagerCompat) is the primary class for using the fingerprint scanning hardware. Этот класс представляет собой оболочку пакета SDK для Android, вокруг служба уровня системы, которая управляет взаимодействиями с оборудования.This class is an Android SDK wrapper around the system level service that manages interactions with the hardware itself. Он отвечает за запуск сканер отпечатков пальцев, а также для ответов на отзывы от сканера.It is responsible for starting the fingerprint scanner and for responding to feedback from the scanner. Этот класс имеет довольно простой интерфейс с помощью только три члена:This class has a fairly straightforward interface with only three members:

  • Authenticate – Этот метод будет инициализировать средство проверки оборудования и запустить службу в фоновом режиме, Ожидание пользователю просканировать отпечатки пальцев.Authenticate – This method will initialize the hardware scanner and start the service in the background, waiting for the user to scan their fingerprint.
  • EnrolledFingerprints – Это свойство будет возвращать true . Если пользователь зарегистрировал один или несколько отпечатков с устройством.EnrolledFingerprints – This property will return true if the user has registered one or more fingerprints with the device.
  • HardwareDetected – Это свойство используется, чтобы определить, поддерживает ли устройство сканирования отпечатков пальцев.HardwareDetected – This property is used to determine if the device supports fingerprint scanning.

FingerprintManager.Authenticate Метод используется в приложении Android для запуска сканер отпечатков пальцев.The FingerprintManager.Authenticate method is used by an Android application to start the fingerprint scanner. Ниже приведен пример того, как вызывать его с помощью библиотеки поддержки совместимости API-интерфейсы:The following snippet is an example of how to invoke it using the Support Library compatibility APIs:

// context is any Android.Content.Context instance, typically the Activity 
FingerprintManagerCompat fingerprintManager = FingerprintManagerCompat.From(context);
fingerprintManager.Authenticate(FingerprintManager.CryptoObject crypto,
                                int flags,
                                CancellationSignal cancel,
                                FingerprintManagerCompat.AuthenticationCallback callback,
                                Handler handler
                               );

В этом руководстве описывается, как использовать FingerprintManager API-интерфейсы для улучшения приложений Android с проверкой подлинности по отпечатку пальца.This guide will discuss how to use the FingerprintManager APIs to enhance an Android application with fingerprint authentication. Его мы рассмотрим, как создать экземпляр и создать CryptoObject для обеспечения безопасности в результате сканер отпечатков пальцев.It will cover how to instantiate and create a CryptoObject to help secure the results from the fingerprint scanner. Мы рассмотрим, как приложения должны подкласс FingerprintManager.AuthenticationCallback и реакция на отзывы от сканер отпечатков пальцев.We'll examine how an application should subclass FingerprintManager.AuthenticationCallback and respond to feedback from the fingerprint scanner. Наконец, мы увидим, как зарегистрировать пальца на устройстве или эмуляторе Android и способы использования adb для имитации сканирования отпечатков пальцев.Finally, we'll see how to enroll a fingerprint on an Android device or emulator and how to use adb to simulate a fingerprint scan.

ТребованияRequirements

Требуется при проверке подлинности по отпечатку пальца Android 6.0 (уровень API 23) или выше, а также устройства с помощью сканер отпечатков пальцев.Fingerprint Authentication requires Android 6.0 (API level 23) or higher and a device with a fingerprint scanner.

Отпечаток пальца уже должны быть зарегистрированы с устройством для каждого пользователя, который должен пройти проверку подлинности.A fingerprint must already be enrolled with the device for each user that is to be authenticated. Это включает в себя настройку блокировки экрана, который использует пароля, ПИН-код, проведите по экрану или шаблон распознавание лиц.This involves setting up a screen lock that uses a password, PIN, swipe pattern, or facial recognition. Существует возможность имитировать некоторые функциональные возможности проверки подлинности по отпечатку пальца в эмуляторе Android.It is possible to simulate some of the fingerprint authentication functionality in an Android Emulator. Дополнительные сведения об этих двух темах см. в разделе регистрация отпечатка пальца раздел.For more information on these two topics, please see the Enrolling a Fingerprint section.