مساحة اعلانية

آخر المواضيع

IOS 8: لدمج تكامل اللمس ID

فى أيلول / سبتمبر / 2013, كشفت أبل عن أيفون أخر مع مجموعه من تحسينات الأجهزة , وكانت هذة الميزه الأكثر إبتكارا من اي فون 5s طبقة معدنية رقيقة محيطة بزر الصفحة الرئيسية Home Button , ايضا جهاز استشعار البصمات يسمى Touch ID . وتطوير clambread ليتعرف علي API . سنة علي IOS 8 والFrameWork يعطي المطورين القدرة على إستخدام Touch ID . 

يوفر إطار المصادقة Authentication FrameWork أساليب لمطالبة المستخدم بالمصادقة . يمكنك إستخدامه لتسجيل الدخول إلي التطبيق الخاص بك أو إستخدامه فقط لحماية البيانات الحساسة داخل التطبيق . فى هذا البرنامج التعليمي , سوف أشرح الخيارات المتاحة لك , وما هي البيانات التى يمكن أن تحدث للجهاز , سنقوم أيضا ببناء نوعية التطبيق .
يتطلب هذا البرنامج التعليمي Xcode 6 لإنشاء المشروع وستحتاج إلى جهاز Touch ID لإختبار عينة التطبيق التى سوف نقوم بإنشاءها . 
1- Touch ID 

Touch ID يشير إلي إستشعار بصمات الأصابع لزر البداية Home على IPhone 5s .هي أضيفت لتساعد وتشجع علي استخدامه ويكون سهل على المستخدمين للمصادقة . يمكنك ظبط كل جهاز بحد أقصي خمس بصمات للأصابع. حتي الأن, قد أستخدمت لفك الأجهزة وللشراء من متجر ITunes و AppStore . و iBooks Store . قبل أن نري كيف يمكن أستخدامه فى تطبيقاتك الخاصة , هنا لمحة سريعه عن الإستشعارات نفسها . 

أجهزة الإستشعار Touch ID قادرة على مسح أصابعك بدقة 500 بكسل لكل بوصة , مما يسمح له بوضع كل نقطة داخل ثلاث فئات , arch and whorl or loop الإستشعار صمم ليكون مريحا حقا , يمكنك مسح أصبعك فى أى إتجاة وأنها سوف تحدد إى بصمات الأصابع الموجوده بغض النظر عن الأتجاة الأصلي .

أبل تدعي أن احتمالات الرفض لبصمات الأصابع 1 من 50.000 التى أفضل بكثير من احتمالات التخمين التى هي 4 رموز Pin 1 من 10.000 الاف . 

أنهم لا يذكرون إن كان من الممكن الرجوع لإستخدام الرقم السري مرات عديدة عندما لا تكون قادر على إستخدام البصمات , على سبيل المثال , عندما تقوم بذلك بعد السباحة . 
2- إعتبارات الأمان 

القلق الأكبر من أستشعار الأصابع أن خصوصية المستخدمين يختل بها . إذا تم أكتشاف الباسورد الخاص بك . يمكنك تغييره إلي شىء جديد والشخص المتطفل لم يعد قادرا على أستخدامه أو الوصول إلى البيانات الخاصة بك .إذا بصمة أصبعك غير ذلك لا يمكنك تغييره بسهولة . 

إن إطار المصادقة Authentication Framework يعالج كل من الأحمال الثقيلة للتحقق من المستخدمين . عند العمل مع Touch ID , من المهم أن تعرف أن ذلك يكشف عن أية تفاصيل حول المستخدم ويتم نقل أية بيانات من الجهاز ومع ذلك يمكن للمطورين إستخدام الإطار framework للتحقق ما إذا سمح للمستخدم بإستخدام التطبيق . 

إذا كنت معتادا على مواصفات OAuth . قد تشهد أوجة التشابة فى طريقة معالجة المصادقة Authentication . أنت تسأل الطرف الثالث ليقوم بالتحقق من هوية المستخدم , إذا كنت تثق بالطرف الثالث , يمكنك إستخدام إجاباته بدلا من طلب أوراق إعتماد مباشرة من قبل المستخدم .
3- LAContext
إطار المصادقة المحلية Authentication Framework من فئة LAContext . المطورين يستطيعوا إستخدم مثيل LAContext لتقييم سياسة الأمن , فى وقت كتابة التقرير هناك نهج واحد فقط يتحقق بإستخدام أجهزة الأستشعار Touch ID وأن الشخص الذي يتم توثيقه صاحب الجهاز فى المستقبل سيكون هناك طريق أمان أخري على سبيل المثال . قد تعرض Apple ادوارا فقط تكون قادرة على الوصول لتلك الموارد . 

إذا كان الإطار غير قادر على المصادقة . فإنة يطرح خطأ . وهناك عدة أسباب لعدم قدرة الجهاز على المصادقة . 

  • LAErrorrTouchIDnotAvilable الجهاز لا يملك جهاز إستشعار لبصمات الأصابع 
  • LAErrorPasscodeNotSet وتعني أنه لا يوجد رمز مرور علي الجهاز والذي يعني أن Touch ID موقوف . 
  • LAErrorPasscodeNotSet هناك مجموعه من الرموز لكن لم يتم تزويد الجهاز بأى بصمات أصابع.
إذا تم طرح خطأ لأى من الرموز أعلاة . ستحتاج إلى توفير بعض الطرق الأخري للمستخدمين للمصادقه عند هذه النقطه . لا يمكن الإعتماد على Touch ID وحدة . 
لنقم بإنشاء عينة تطبيق ولنقم بإستخدام Local Authentication framework . 
4- إعداد المشروع . 
الخطوة الأولي :

افتح 
Xcode وحدد New ثم Project من قائمة الملفات . أختار Single View Application من قائمة IOS Application وأضغط التالي, ثم قم بأختيار مكان لحفظ المشروع .

الخطوة الثانية :
 أدخل أسم للمشروع الخاص بك . لقد أستدعيت المصادقة Auth, أدخل أسم المؤسسة الخاصة بك وتعريف الشركة وبادئة الفئة  . أختر iPhone من قائمة الأجهزة , وأنقر فوق التالي , وأختر مكانا لحفظ المشروع . 

الخطوة الثالثة :

أنقر فوق ViewController.h وحدد إجراء جديد +-authenticateButtonTapped , الذي سيقوم بتشغيل عملية المصادقة . واجهة الفئة ViewController يجب أن تكون هكذا : 
#import <UIKit/UIKit.h>

@interface ViewController : UIViewController

- (IBAction)authenticateButtonTapped:(id)sender;

@end
الخطوة الرابعة :

أفتح Main.storyboard وأسحب الزر إلي view controller's . قم بتغيير تسمية الزر إلي read Authenticate .

5- مصادقة المستخدم
الخطوة الأولي 

قم بالتبديل إلي ViewController.m لتنفيذ الأسلوب authenticateButtonTapped . فى الجزء العلوي من الملف أضف عبارة الأستيراد التالية للإطار المحلي للمصادقة Authentication framework .
#import <LocalAuthentication/LocalAuthentication.h>
الخطوة الثانية 

فى أسلوب authenticateButtonTapped . ننشىء context ونحدد إذا كان يمكن ل context أن تقيم السياق LAPolicyDeviceOwnerAuthenticationWithBiometrics وإلا سوف تظهر رسالة خطأ . 
(IBAction)authenticateButtonTapped:(id)sender {
    LAContext *context = [[LAContext alloc] init];
 
    NSError *error = nil;
 
    if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) {
        // Authenticate User
     
    } else {
     
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error"
                                                        message:@"Your device cannot authenticate using TouchID."
                                                       delegate:nil
                                              cancelButtonTitle:@"Ok"
                                              otherButtonTitles:nil];
        [alert show];
     
    }
}
الخطوة الثالثة 

إذا كان الكائن LAContext قادرا على المصادقة بإستخدام Touch ID , نحاول التحقق من من هوية المستخدم . إذا لم يكن هناك أى خطأ . أخبر المستخدم إذا كان هو مالك الجهاز . الشكل النهائي للإسلوب AuthenticateButtonTapped يظهر كالأتي : 
(void)authenicateButtonTapped:(id)sender {
   LAContext *context = [[LAContext alloc] init];
   NSError *error = nil;
   if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) {
       [context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics
               localizedReason:@"Are you the device owner?"
                         reply:^(BOOL success, NSError *error) {
           if (error) {
               UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error"
                                                               message:@"There was a problem verifying your identity."
                                                              delegate:nil
                                                     cancelButtonTitle:@"Ok"
                                                     otherButtonTitles:nil];
               [alert show];
               return;
           }
           if (success) {
               UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Success"
                                                               message:@"You are the device owner!"
                                                              delegate:nil
                                                     cancelButtonTitle:@"Ok"
                                                     otherButtonTitles:nil];
               [alert show];
           } else {
               UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error"
                                                               message:@"You are not the device owner."
                                                              delegate:nil
                                                     cancelButtonTitle:@"Ok"
                                                     otherButtonTitles:nil];
               [alert show];
           }
       }];
   } else {
       UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error"
                                                       message:@"Your device cannot authenticate using TouchID."
                                                      delegate:nil
                                             cancelButtonTitle:@"Ok"
                                             otherButtonTitles:nil];
       [alert show];
   }
}
6- البناء والتشغيل 

بناء وتشغيل التطبيق على Physical Device بجهاز إستشعار البصمات قم بالضغط على زر المصادقة . طالما أن الجهاز الخاص بك لدية معرف أتصال الدعم Touch ID Support يجب أن تتم مطالبتك بالمصادقة . إذا قمت بوضع أصبعك على جهاز الإستشعار ينبغى أن يتطابق . حتى إذا كنت صاحب الجهاز أو لا .
الإستنتاج 

فى هذا البرنامج التعليمي نظرنا فى إطار ( Authentication framework ) فى IOS 8 . بفحص والتحقق من مصادقة المستخدم . الفئة LaContext تسمح للمستخدمين بتحديد أنفسهم دون توفير البيانات الحساسة مباشرة إلي التطبيق .

الكــاتــب

    • مشاركة

ليست هناك تعليقات:

جميع الحقوق محفوظة لــ الشبح للمعلوميات 2019 ©