Uwierzytelnianie odciskiem palca
W tym przewodniku omówiono sposób dodawania uwierzytelniania odciskiem palca wprowadzonego w systemie Android 6.0 do aplikacji platformy Xamarin.Android.
Omówienie uwierzytelniania odciskiem palca
Przybycie skanerów linii papilarnych na urządzeniach z systemem Android zapewnia aplikacjom alternatywę dla tradycyjnej metody uwierzytelniania użytkownika/nazwy użytkownika. Użycie odcisków palców do uwierzytelniania użytkownika umożliwia aplikacji włączenie zabezpieczeń, które są mniej uciążliwe niż nazwa użytkownika i hasło.
Interfejsy API FingerprintManager są przeznaczone dla urządzeń docelowych ze skanerem linii papilarnych i korzystają z interfejsu API poziomu 23 (Android 6.0) lub nowszego. Interfejsy API znajdują się w Android.Hardware.Fingerprints
przestrzeni nazw. Biblioteka obsługi systemu Android w wersji 4 udostępnia wersje interfejsów API odcisków palców przeznaczonych dla starszych wersji systemu Android. Interfejsy API zgodności znajdują się w Android.Support.v4.Hardware.Fingerprint
przestrzeni nazw, są dystrybuowane za pośrednictwem pakietu NuGet Xamarin.Android.Support.v4.
Odcisk palcaManager (i jego odpowiednik biblioteki pomocy technicznej, FingerprintManagerCompat) jest klasą podstawową do korzystania ze sprzętu skanowania odcisków palców. Ta klasa to otoka zestawu SDK systemu Android wokół usługi poziomu systemu, która zarządza interakcjami z samym sprzętem. Odpowiada za uruchomienie skanera linii papilarnych i reagowanie na opinie od skanera. Ta klasa ma dość prosty interfejs z tylko trzema elementami członkowskimi:
Authenticate
— Ta metoda zainicjuje skaner sprzętowy i uruchomi usługę w tle, czekając na zeskanowanie odcisku palca przez użytkownika.EnrolledFingerprints
— Ta właściwość zostanie zwróconatrue
, jeśli użytkownik zarejestrował co najmniej jeden odcisk palca z urządzeniem.HardwareDetected
— Ta właściwość służy do określania, czy urządzenie obsługuje skanowanie odcisków palców.
Metoda FingerprintManager.Authenticate
jest używana przez aplikację systemu Android do uruchomienia skanera linii papilarnych. Poniższy fragment kodu jest przykładem sposobu wywoływania go przy użyciu interfejsów API zgodności biblioteki pomocy technicznej:
// 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
);
W tym przewodniku omówiono sposób używania FingerprintManager
interfejsów API do ulepszania aplikacji systemu Android przy użyciu uwierzytelniania odciskiem palca. Zostanie omówiony sposób tworzenia wystąpień i tworzenia obiektu w CryptoObject
celu zabezpieczenia wyników z skanera linii papilarnych. Sprawdzimy, jak aplikacja powinna podklasować FingerprintManager.AuthenticationCallback
i reagować na opinie skanera linii papilarnych. Na koniec zobaczymy, jak zarejestrować odcisk palca na urządzeniu z systemem Android lub emulatorze oraz jak za pomocą bazy danych adb symulować skanowanie odciskiem palca.
Wymagania
Uwierzytelnianie odciskiem palca wymaga systemu Android 6.0 (poziom interfejsu API 23) lub nowszego oraz urządzenia ze skanerem linii papilarnych.
Odcisk palca musi być już zarejestrowany w urządzeniu dla każdego użytkownika, który ma zostać uwierzytelniony. Obejmuje to skonfigurowanie blokady ekranu korzystającej z hasła, numeru PIN, wzorca przesunięcia lub rozpoznawania twarzy. Istnieje możliwość symulowania niektórych funkcji uwierzytelniania odciskiem palca w emulatorze systemu Android. Aby uzyskać więcej informacji na temat tych dwóch tematów, zobacz sekcję Rejestrowanie odcisku palca .