Parmak İzi Kimlik Doğrulaması
Bu kılavuzda, Android 6.0'da kullanıma sunulan parmak izi kimlik doğrulamasının Xamarin.Android uygulamasına nasıl ekleneceği açıklanır.
Parmak İzi Kimlik Doğrulamasına Genel Bakış
Android cihazlarda parmak izi tarayıcılarının gelmesi, uygulamalara kullanıcı kimlik doğrulamasının geleneksel kullanıcı adı/parola yöntemine alternatif bir alternatif sağlar. Kullanıcının kimliğini doğrulamak için parmak izi kullanılması, bir uygulamanın kullanıcı adı ve paroladan daha az müdahaleci güvenlik içermesini mümkün kılar.
FingerprintManager API'leri cihazları parmak izi tarayıcısıyla hedefler ve API düzeyi 23 (Android 6.0) veya üzerini çalıştırır. API'ler ad alanında Android.Hardware.Fingerprints
bulunur. Android Destek Kitaplığı v4, Android'in eski sürümlerine yönelik parmak izi API'lerinin sürümlerini sağlar. Uyumluluk API'leri ad alanında Android.Support.v4.Hardware.Fingerprint
bulunur ve Xamarin.Android.Support.v4 NuGet paketi aracılığıyla dağıtılır.
FingerprintManager (ve Destek Kitaplığı'na karşılık gelen FingerprintManagerCompat), parmak izi tarama donanımını kullanmaya yönelik birincil sınıftır. Bu sınıf, donanımın kendisiyle etkileşimleri yöneten sistem düzeyinde hizmet etrafında bir Android SDK sarmalayıcısıdır. Parmak izi tarayıcısını başlatmaktan ve tarayıcıdan gelen geri bildirimleri yanıtlamaktan sorumludur. Bu sınıfın yalnızca üç üyesi olan oldukça basit bir arabirimi vardır:
Authenticate
– Bu yöntem donanım tarayıcısını başlatır ve kullanıcının parmak izini taramasını bekleyerek arka planda hizmeti başlatır.EnrolledFingerprints
– Kullanıcı cihaza bir veya daha fazla parmak izi kaydettiyse bu özellik döndürülecektirtrue
.HardwareDetected
– Bu özellik, cihazın parmak izi taramasını desteklenip desteklemediğini belirlemek için kullanılır.
Yöntemi FingerprintManager.Authenticate
, parmak izi tarayıcısını başlatmak için bir Android uygulaması tarafından kullanılır. Aşağıdaki kod parçacığı, Destek Kitaplığı uyumluluk API'lerini kullanarak nasıl çağırılacağını gösteren bir örnektir:
// 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
);
Bu kılavuzda, parmak izi kimlik doğrulamasıyla bir Android uygulamasını geliştirmek için API'lerin nasıl kullanılacağı FingerprintManager
açıklanır. Parmak izi tarayıcısından sonuçların güvenliğini sağlamaya yardımcı olmak için nasıl örnek oluşturacağınız ve oluşturulacağı CryptoObject
ele alınacaktır. Bir uygulamanın parmak izi tarayıcısından gelen geri bildirimleri nasıl alt sınıfa FingerprintManager.AuthenticationCallback
alması gerektiğini inceleyeceğiz. Son olarak, bir Android cihazına veya öykünücüye parmak izi kaydetmeyi ve parmak izi taraması simülasyonu yapmak için adb'yi kullanmayı göreceğiz.
Gereksinimler
Parmak İzi Kimlik Doğrulaması için Android 6.0 (API düzeyi 23) veya üzeri ve parmak izi tarayıcısı olan bir cihaz gerekir.
Kimliği doğrulanacak her kullanıcı için cihaza zaten bir parmak izi kaydedilmiş olmalıdır. Bu, parola, PIN, çekme deseni veya yüz tanıma kullanan bir ekran kilidi ayarlamayı içerir. Android Öykünücüsü'nde parmak izi kimlik doğrulaması işlevlerinin bazılarını simüle etmek mümkündür. Bu iki konu hakkında daha fazla bilgi için lütfen Parmak İzi Kaydetme bölümüne bakın.