Πώς να χρησιμοποιήσετε το Touch ID για πιο γρήγορη και ευκολότερη σύνδεση στην εφαρμογή σας

Πώς να χρησιμοποιήσετε το Touch ID για πιο γρήγορη και ευκολότερη σύνδεση στην εφαρμογή σας

Είναι μια κοινή παρατήρηση ότι οι χρήστες ρίχνουν λίγο στην οθόνη σύνδεσης. Έτσι αντιμετωπίζω τον εθισμό μου στο facebook; . Αυτό το σεμινάριο σας διδάσκει πώς να χρησιμοποιήσετε το αναγνωριστικό για μια ταχύτερη και ευκολότερη σύνδεση Θα σας ακολουθήσω σύντομα τα βήματα, επιτρέψτε μου να σας ενημερώσω λίγο.

Οι περισσότερες εφαρμογές χρησιμοποιούν Touch ID ως έλεγχο ταυτότητας δεύτερου βαθμού. Αυτό το σεμινάριο ΔΕΝ αφορά την παροχή ελέγχου ταυτότητας δεύτερου βαθμού (αν και μπορείτε να το κάνετε και αν διαβάσετε αυτό το άρθρο) Πρόκειται για τη χρήση του Touch ID για να πραγματοποιήσετε αυτήν την κλήση διακομιστή για να συνδεθείτε στον χρήστη.

Τώρα πώς παίρνετε τα διαπιστευτήρια του χρήστη από τον αντίχειρά τους για να πραγματοποιήσετε αυτήν την κλήση διακομιστή; ; Εδώ βρίσκεται η υπηρεσία K eychain . Όταν ο χρήστης εγγραφεί ή συνδεθεί στην εφαρμογή σας για πρώτη φορά, αποθηκεύστε τα διαπιστευτήρια στο μπρελόκ της εφαρμογής σας. Την επόμενη φορά, όταν ο χρήστης αποσυνδεθεί και στη συνέχεια επισκεφτεί ξανά την οθόνη σύνδεσης, αναβοσβήνει ένα αναδυόμενο παράθυρο ζητώντας του να συνδεθεί χρησιμοποιώντας το Touch ID. Όταν ο χρήστης παρέχει ένα έγκυρο Touch ID, λάβετε τα διαπιστευτήρια χρήστη που έχετε αποθηκεύσει νωρίτερα στο keychain, πραγματοποιήστε την κλήση API και το Boom!?.

Υπάρχουν δύο βήματα εδώ:

  • Πρώτον, πρέπει να αποθηκεύσετε τα διαπιστευτήρια του χρήστη στο μπρελόκ. Μπορείτε να το κάνετε αυτό όταν ο χρήστης εγγραφεί ή όταν συνδεθεί στην εφαρμογή σας για πρώτη φορά.
  • Δεύτερον, χρησιμοποιήστε το Touch ID για επαλήθευση του χρήστη και, στη συνέχεια, ανακτήστε τα διαπιστευτήριά του από την υπηρεσία keychain.

Χρησιμοποιώ το KeychainPasswordItem , ένα ωραίο περιτύλιγμα πάνω από το Keychain διαθέσιμο στο developer.apple.com εδώ. Έχουν ένα πολύ καλό, λεπτομερές παράδειγμα για το πώς να χρησιμοποιούν αυτό το γενικό μπρελόκ. Πήγαινε να ρίξεις μια ματιά.

Ως μέρος του πρώτου βήματος, χρησιμοποιήστε την παρακάτω μέθοδο κλήσης με το email του χρήστη ως λογαριασμό και κωδικό πρόσβασης όταν ο χρήστης εγγραφεί και συνδεθεί.

Αποθηκεύουμε το email του χρήστη στο UserDefaults για χρήση αργότερα. Θα ήταν καλύτερα εάν αναβοσβήνετε ένα αναδυόμενο παράθυρο για να ζητήσετε την άδεια του χρήστη να χρησιμοποιήσει αυτήν τη λειτουργία. Παραλείπω αυτό το μέρος για αυτό το σεμινάριο ;.

Χρησιμοποιήστε το Touch ID για πρόσβαση στην μπρελόκ

Για να χρησιμοποιήσετε το Touch ID, πρέπει πρώτα να προσθέσετε το πλαίσιο LocalAuthentication στα δυαδικά του έργου σας. Μπορείτε να το κάνετε μεταβαίνοντας στο Project> Build Phases> Link Binary With Libraries:

Στη συνέχεια, εισαγάγετε το πλαίσιο LocalAuthentication στον ελεγκτή προβολής σύνδεσης.

import LocalAuthentication

Συμπληρώσαμε το πεδίο κειμένου userName με το email λογαριασμού χρήστη που αποθηκεύσαμε νωρίτερα στο UserDefaults.

Στη συνέχεια, πρέπει να ελέγξουμε εάν υπάρχει δυνατότητα ελέγχου ταυτότητας στην τρέχουσα συσκευή. Ελέγξτε τον ακόλουθο κωδικό:

Εμείς επικαλούνται authenticateUserUsingTouchId () σε viewDidAppear (). Το LAContext είναι μια υποκατηγορία του NSObject και αντιπροσωπεύει το τρέχον πλαίσιο ελέγχου ταυτότητας. Τώρα, εάν είναι δυνατός ο έλεγχος ταυτότητας, επικυρώστε την αυθεντικότητα του Touch ID καλώντας το evaluPolicy ()

Το konteks.evaluatePolicy () μας δίνει το αναδυόμενο παράθυρο Touch ID με το τελευταίο όνομα χρήστη που προσπελάσαμε, το οποίο δώσαμε ως το localizedReason στη μέθοδο evaluPolicy () .

Αυτό ολοκληρώνει το Μέρος 1 του Βήματος 2: να κάνει τον χρήστη να κάνει έλεγχο ταυτότητας χρησιμοποιώντας Touch ID. Στη συνέχεια χρησιμοποιεί Touch ID για πρόσβαση στο Keychain όπου αποθηκεύουμε ή ανακτούμε διαπιστευτήρια χρήστη για σύνδεση.

Όταν ο χρήστης παρέχει ένα έγκυρο Touch ID, πρέπει να φορτώσουμε τον κωδικό πρόσβασης από το Keychain και να κάνουμε την κλήση POST για να συνδεθεί ο χρήστης.

if authSuccessful { self.loadPasswordFromKeychainAndAuthenticateUser(lastAccessedUserName)}

Αυτό είναι! Μπορείτε να αναβαθμίσετε το πλαίσιο ελέγχου ταυτότητας για να υποστηρίξετε πολλούς λογαριασμούς. Αφού επαληθεύσετε την αυθεντικότητα του Touch ID, αναβοσβήστε ένα αναδυόμενο παράθυρο και ζητήστε από το χρήστη να επιλέξει τον λογαριασμό που επιθυμεί να συνδεθεί. Στη συνέχεια, ανακτήστε τα διαπιστευτήρια του χρήστη που αντιστοιχούν σε αυτόν τον λογαριασμό από το Keychain. Ευχαριστώ για την ανάγνωση!