Sådan bruges Touch ID til et hurtigere og lettere login til din app

Sådan bruges Touch ID til et hurtigere og lettere login til din app

Det er en almindelig iagttagelse, at brugere falder lidt af på din loginskærm. Sådan tackler jeg min facebookafhængighed? . Denne tutorial lærer dig, hvordan du bruger T ouch ID til et hurtigere og lettere login. Jeg tager dig gennem trinnene snart, bare lad mig informere dig lidt.

De fleste apps bruger Touch ID som en anden grads godkendelse. Denne vejledning handler IKKE om at give en anden grads godkendelse (selvom du også kan gøre det, hvis du læser denne artikel). Det handler om at bruge Touch ID til at foretage det serveropkald for at logge ind på brugeren.

Nu hvordan får du brugerens legitimationsoplysninger fra deres tommelfingerprint til at foretage det serveropkald? ? Det er her K eychain-tjenesten kommer ind. Når brugeren tilmelder sig eller logger ind på din app for første gang, skal du gemme legitimationsoplysningerne til din apps nøglering. Næste gang, når brugeren logger ud og derefter besøger loginskærmen igen, skal du blinke en popup, der beder dem om at logge ind ved hjælp af Touch ID. Når brugeren giver et gyldigt Touch ID, skal du hente de brugeroplysninger, du tidligere har gemt, i nøglering, foretage dit API-opkald og Boom!?.

Så der er to trin involveret her:

  • Først skal du gemme brugerens legitimationsoplysninger i nøglering. Du kan gøre dette, når brugeren tilmelder sig, eller når de logger ind på din app for første gang.
  • For det andet skal du bruge Touch ID til at bekræfte brugeren og derefter hente deres legitimationsoplysninger fra nøgleringstjenesten.

Jeg bruger KeychainPasswordItem , en dejlig indpakning over nøglering, der er tilgængelig på developer.apple.com her. De har et meget godt, detaljeret eksempel på, hvordan man bruger denne generiske nøglering. Gå og kig.

Som en del af det første trin skal du bruge nedenstående opkaldsmetode med brugerens e-mail som konto og adgangskode, når brugeren tilmelder sig og logger på.

Vi gemmer brugerens e-mail til UserDefaults, der skal bruges senere. Det ville være bedre, hvis du blinker en popup for at bede brugerens tilladelse til at bruge denne funktion. Jeg springer over den del til denne tutorial ?.

Brug Touch ID til at få adgang til nøglering

For at bruge Touch ID skal du først tilføje LocalAuthentication-rammen til dine projektbinarier. Du kan gøre dette ved at gå til Projekt> Byg faser> Link binært med biblioteker:

Importér derefter LocalAuthentication-rammen i din loginvisningscontroller.

import LocalAuthentication

Vi har udfyldt vores brugernavn-tekstfelt med den brugerkonto-e-mail, vi tidligere har gemt i UserDefaults.

Dernæst skal vi kontrollere, om godkendelse er mulig på den aktuelle enhed. Tjek følgende kode:

Vi påberåber authenticateUserUsingTouchId () i viewDidAppear (). LAContext er en underklasse af NSObject og repræsenterer vores nuværende autentificeringskontekst. Hvis godkendelse nu er mulig, skal du validere Touch ID's ægthed ved at ringe til evaluerePolicy ()

context.evaluatePolicy () giver os Touch ID-popup med vores sidst anvendte brugernavn, som vi gav som vores localizedReason i metoden evaluPolicy () .

Dette fuldender del 1 af trin 2: at få brugeren til at godkende ved hjælp af Touch ID. Dernæst bruger Touch ID til at få adgang til nøglering, hvor vi gemmer eller henter brugeroplysninger til login.

Når brugeren angiver et gyldigt Touch ID, skal vi indlæse adgangskoden fra nøglering og foretage vores POST-opkald for at logge ind på brugeren.

if authSuccessful { self.loadPasswordFromKeychainAndAuthenticateUser(lastAccessedUserName)}

Det er det! Du kan opgradere din godkendelsesramme til at understøtte flere konti. Efter at have bekræftet Touch ID's ægthed, skal du blinke en popup og bede brugeren om at vælge den konto, de ønsker login. Hent derefter brugerens legitimationsoplysninger, der svarer til den pågældende konto, fra nøglering. Tak for læsningen!