Comment utiliser Touch ID pour une connexion plus rapide et plus facile à votre application

Comment utiliser Touch ID pour une connexion plus rapide et plus facile à votre application

C'est une observation courante que les utilisateurs déposent un peu sur votre écran de connexion. C'est ainsi que j'aborde ma dépendance à Facebook? . Ce tutoriel vous apprend à utiliser T ouch ID pour une connexion plus rapide et plus facile. Je vais bientôt vous expliquer les étapes, laissez-moi vous expliquer un peu.

La plupart des applications utilisent Touch ID comme authentification de deuxième degré. Ce didacticiel ne consiste PAS à fournir une authentification de deuxième degré (bien que vous puissiez le faire aussi si vous lisez cet article). Il s'agit d'utiliser Touch ID pour passer cet appel au serveur afin de connecter l'utilisateur.

Maintenant, comment obtenir les informations d'identification de l'utilisateur à partir de son empreinte digitale pour passer cet appel au serveur? ? C'est là que le service K eychain entre en jeu. Lorsque l'utilisateur s'inscrit ou se connecte à votre application pour la première fois, enregistrez les informations d'identification sur le trousseau de votre application. La prochaine fois, lorsque l'utilisateur se déconnecte, puis visite à nouveau l'écran de connexion, une fenêtre contextuelle lui demande de se connecter à l'aide de Touch ID. Lorsque l'utilisateur fournit un Touch ID valide, récupérez les informations d'identification utilisateur que vous avez enregistrées précédemment dans le trousseau, passez votre appel API et Boom!?.

Il y a donc deux étapes impliquées ici:

  • Tout d'abord, vous devez enregistrer les informations d'identification de l'utilisateur sur le trousseau. Vous pouvez le faire lorsque l'utilisateur s'inscrit ou lorsqu'il se connecte à votre application pour la première fois.
  • Deuxièmement, utilisez Touch ID pour vérifier l'utilisateur, puis récupérez ses informations d'identification auprès du service de trousseau.

J'utilise KeychainPasswordItem , un joli wrapper sur Keychain disponible sur developer.apple.com ici. Ils ont un très bon exemple détaillé sur la façon d'utiliser ce trousseau générique. Allez jeter un œil.

Dans le cadre de la première étape, utilisez la méthode d'appel ci-dessous avec l'adresse e-mail de l'utilisateur comme compte et mot de passe lorsque l'utilisateur s'inscrit et se connecte.

Nous stockons l'e-mail de l'utilisateur dans UserDefaults pour une utilisation ultérieure. Ce serait mieux si vous flashez une fenêtre contextuelle pour demander la permission à l'utilisateur d'utiliser cette fonctionnalité. Je saute cette partie de ce tutoriel ?.

Utilisez Touch ID pour accéder au trousseau

Pour utiliser Touch ID, vous devez d'abord ajouter le framework LocalAuthentication aux binaires de votre projet. Vous pouvez le faire en allant dans Projet> Phases de construction> Lier le binaire avec les bibliothèques:

Ensuite, importez le framework LocalAuthentication dans votre contrôleur de vue de connexion.

import LocalAuthentication

Nous avons rempli notre champ de texte userName avec l'e-mail du compte utilisateur que nous avons enregistré précédemment dans UserDefaults.

Ensuite, nous devons vérifier si l'authentification est possible sur l'appareil actuel. Consultez le code suivant:

Nous appelons authenticateUserUsingTouchId () dans viewDidAppear (). LAContext est une sous-classe de NSObject et représente notre contexte d'authentification actuel. Maintenant, si l'authentification est possible, validez l'authenticité de Touch ID en appelant evaluPolicy ()

context.evaluatePolicy () nous donne le popup Touch ID avec notre dernier nom d'utilisateur accédé, que nous avons donné comme notre localizedReason dans la méthode evaluPolicy () .

Ceci termine la partie 1 de l'étape 2: faire en sorte que l'utilisateur s'authentifie à l'aide de Touch ID. Ensuite, utilisez Touch ID pour accéder au trousseau où nous enregistrons ou récupérons les informations d'identification de l'utilisateur pour la connexion.

Lorsque l'utilisateur fournit un Touch ID valide, nous devons charger le mot de passe à partir du trousseau et effectuer notre appel POST pour connecter l'utilisateur.

if authSuccessful { self.loadPasswordFromKeychainAndAuthenticateUser(lastAccessedUserName)}

C'est ça! Vous pouvez mettre à niveau votre infrastructure d'authentification pour prendre en charge plusieurs comptes. Après avoir vérifié l'authenticité de Touch ID, faites clignoter une fenêtre contextuelle et demandez à l'utilisateur de sélectionner le compte auquel il souhaite se connecter. Récupérez ensuite les informations d'identification de l'utilisateur correspondant à ce compte à partir du trousseau. Merci d'avoir lu!