احراز هویت با اثر انگشت در زامارین

اسکن اثر انگشت

تا اینجا دیدیم که چگونه از Xamarin.Android برای احراز هویت اثر انگشت استفاده می شود اکنون به متد FingerprintManager.Authenticate بازگشته و در مورد جایگاه احراز هویت با اثر انگشت در اندروید 6.0  در زامارین بحث می کنیم. ابتدا یک مرور کوچک روی احراز هویت با اثر انگشت داشته باشیم:

1- فراخوانی Authenticate، پاس کردن CryptoObject و یک نمونه از FingerprintManager.AuthenticationCallback. CryptoObject برای حصول اطمینان از این که نتیجه احراز هویت با اثر انگشت دستکاری نشده باشد، استفاده می شود.
2- زیر مجموعه ای از کلاس AuthenticationCallback. زمانی که احراز هویت با اثر انگشت شروع شود یک نمونه از این کلاس ایجاد می شود. زمانی که اسکن اثر انگشت به پایان می رسد، متد callback ای در این کلاس فراخوانی می شود.
3- نوشتن کد برای آپدیت شدن UI به کاربر اجازه می دهد تا از شروع اسکن اثر انگشت توسط دستگاه و انتظار برای فعل و انفعالات آن مطلع شود.
4- زمانی که اسکن اثر انگشت تمام می شود اندروید با فراخوانی یک نمونه از متد AuthenticationCallback که در مرحله قبل ایجاد شده بود، نتیجه را به اپلیکیشن بر می گرداند.
5- اپلیکیشن نتیجه اثر انگشت را به کاربر اطلاع می دهد و واکنش مناسب را در برابر نتیجه آن نشان می دهد.

قطعه کد زیر مثالی از  شروع اسکن اثر انگشت در زامارین را نمایش می دهد:

اجازه دهید در مورد متدهای احراز هویت در زامارین با جزئیات بیشتری بررسی شود:

1- اولین پارامتر یک شی رمزنگاری است که اسکنر اثر انگشت از آن برای کمک به تصدیق نتایج یک اسکن اثر انگشت استفاده خواهد کرد. این شی ممکن است null باشد که در این صورت اپلیکیشن باید به اینکه چیزی در نتایج اثر انگشت دستکاری نشده اعتماد کند. در این حالت پیشنهاد می شود که CryptoObject نصب شود و FingerprintManager به جای null ارائه شود. ایجاد یک CryptoObject جزئیاتی از اینکه Cipher چگونه از CryptoObject شروع می شود را شرح خواهد داد.
2- پارامتر دوم همیشه صفر است. مستندات اندروید این را به عنوان مجموعه ای از پرچم ها و به احتمال زیاد برای استفاده در آینده می شناسد.
3- پارامتر سوم، cancellationSignal یک شی است که برای خاموش کردن اسکن اثر انگشت استفاده می شود و درخواست فعلی را کنسل می کند. این مورد فقط یک سیگنال برای کنسل کردن در اندروید است و از فریم ورک های .net نمی باشد.
4- پارامتر چهارم الزامی است و کلاسی است که مشتق شده از کلاس انتزاعی AuthenticationCallback است.زمانی که FingerprintManager به پایان می رسد و نتایج مشخص می شود، متدها در این کلاس به صورت سیگنال در کلاینت ها فراخوانی می شوند.
5- پارامتر پنجم یک نمونه هندلر اختیاری است. اگر یک شی از هندلر ارائه شود،زمانی که پیام دریافتی از سخت افزار fingerprint در حال پردازش است، FingerprintManager از looper در شی استفاده خواهد کرد. به طور معمول، نیازی به ارائه یک هندلر نیست و FingerprintManager از Looper اپلیکیشن استفاده می کند.

لغو اسکن اثر انگشت در زامارین

ممکن است برای کاربر (یا اپلیکیشن) مهم باشد تا پس از شروع شدن  اسکن اثر انگشت آن را لغو کنند، در این حالت متد IsCancelled در CancellationSignal را فراخوانی کنید که در FingerprintManager ارائه شده است. زمانی که اسکن اثر انگشت شروع می شود هویت آن را احراز نمایید.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

10 + = 18