كيفية استخدام Touch ID لتسجيل دخول أسرع وأسهل إلى تطبيقك

إنها ملاحظة شائعة أن المستخدمين ينزلون قليلاً على شاشة تسجيل الدخول الخاصة بك. هذه هي الطريقة التي أتعامل بها مع إدمان facebook الخاص بي. يعلمك هذا البرنامج التعليمي كيفية استخدام Touch ID لتسجيل دخول أسرع وأسهل. سأنقلك عبر الخطوات قريباً ، فقط اسمح لي بإيجازك قليلاً.

تستخدم معظم التطبيقات Touch ID كمصادقة من الدرجة الثانية. لا يتعلق هذا البرنامج التعليمي بتوفير مصادقة من الدرجة الثانية (على الرغم من أنه يمكنك القيام بذلك أيضًا إذا كنت تقرأ هذه المقالة). يتعلق الأمر باستخدام Touch Touch لإجراء اتصال الخادم لتسجيل الدخول إلى المستخدم.

الآن كيف يمكنك الحصول على بيانات اعتماد المستخدم من طباعة الإبهام لإجراء اتصال الخادم هذا؟ هذا هو المكان الذي تأتي فيه خدمة Keychain. عندما يقوم المستخدم بتسجيل الدخول أو تسجيل الدخول إلى التطبيق الخاص بك لأول مرة ، احفظ بيانات الاعتماد في سلسلة المفاتيح بالتطبيق الخاص بك. في المرة القادمة ، عندما يقوم المستخدم بتسجيل الخروج ثم يزور شاشة تسجيل الدخول مرة أخرى ، قم بفلاش نافذة منبثقة تطلب منهم تسجيل الدخول باستخدام Touch ID. عندما يوفر المستخدم معرف Touch صالحًا ، احصل على بيانات اعتماد المستخدم التي قمت بحفظها مسبقًا في سلسلة المفاتيح ، وقم بإجراء مكالمة API و Boom! .

لذلك هناك خطوتان مشتركتان هنا:

  • أولاً ، تحتاج إلى حفظ بيانات اعتماد المستخدم في سلسلة المفاتيح. يمكنك القيام بذلك عندما يقوم المستخدم بالتسجيل أو عند تسجيل الدخول إلى التطبيق الخاص بك لأول مرة.
  • ثانيًا ، استخدم Touch ID للتحقق من المستخدم ، ثم استرجع بيانات اعتماده من خدمة keychain.

أنا أستخدم KeychainPasswordItem ، وهو عبارة عن غلاف جميل على Keychain متاح على developer.apple.com هنا. لديهم مثال جيد للغاية ومفصل حول كيفية استخدام هذه المفاتيح العامة. الذهاب إلقاء نظرة.

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

نقوم بتخزين بريد المستخدم الإلكتروني على UserDefaults ليتم استخدامه لاحقًا. سيكون من الأفضل إذا أومض أحد الإطارات المنبثقة لطلب إذن المستخدم لاستخدام هذه الميزة. أنا تخطي هذا الجزء لهذا البرنامج التعليمي.

استخدم Touch ID للوصول إلى سلسلة المفاتيح

لاستخدام معرف اللمس ، تحتاج أولاً إلى إضافة إطار LocalAuthentication إلى ثنائيات مشروعك. يمكنك القيام بذلك عن طريق الانتقال إلى المشروع> إنشاء المراحل> ربط Binary بالمكتبات:

بعد ذلك ، قم باستيراد إطار LocalAuthentication في وحدة تحكم عرض تسجيل الدخول الخاصة بك.

استيراد LocalAuthentication

لقد ملأنا حقل اسم المستخدم الخاص بنا بعنوان البريد الإلكتروني لحساب المستخدم الذي قمنا بحفظه مسبقًا في UserDefaults.

بعد ذلك ، نحتاج إلى التحقق من إمكانية المصادقة على الجهاز الحالي. تحقق من الكود التالي:

نحن ندعو AuthenticateUserUsingTouchId () في viewDidAppear (). LAContext هي فئة فرعية من NSObject ، وتمثل سياق المصادقة الحالي الخاص بنا. الآن ، إذا كانت المصادقة ممكنة ، تحقق من صحة أصالة Touch ID عن طريق الاتصال بـ EvaluPolicy ()

يعطيك context.evaluatePolicy () منبثقة Touch ID مع اسم المستخدم الذي تم الوصول إليه الأخير ، والذي قدمناه كسبب مترجم لنا في طريقة EvaluPolicy ().

يكمل هذا الجزء 1 من الخطوة 2: الحصول على المستخدم للمصادقة باستخدام Touch ID. يستخدم Next up Touch ID للوصول إلى Keychain حيث نقوم بحفظ أو استرداد بيانات اعتماد المستخدم لتسجيل الدخول.

عندما يوفر المستخدم معرف Touch صالحًا ، نحتاج إلى تحميل كلمة المرور من Keychain وإجراء مكالمة POST لتسجيل الدخول إلى المستخدم.

إذا authSuccessful {self.loadPasswordFromKeychainAndAuthenticateUser (lastAccessedUserName)
}

هذا هو! يمكنك ترقية إطار المصادقة الخاص بك لدعم حسابات متعددة. بعد التحقق من أصالة Touch ID ، أوميض نافذة منبثقة واطلب من المستخدم تحديد الحساب الذي يرغب في تسجيل الدخول. ثم استرجع بيانات اعتماد المستخدم المطابقة لهذا الحساب من Keychain. شكرا للقراءة!