Apple has introduced a biometric authentication technology Touch ID in iOS 7 and iPhone 5S. This allow users to unlock the device and make the purchases in the AppStore. In iOS 8, Apple has allowed developers to use the fingerprint sensor authentication mechanism to their applications.One of our recent applications we have integrated the Touch ID.

The TouchID is a feature based on a new framework called Local Authentication, which provides facilities for requesting authentication from users with specified security policies.

Local Authentication handles everything in context of handling the Touch ID while using in our applications. It will prompt for authentication with custom message which will tell user why we need authentication, so user can place his finger on the home button.

Why we integrated the Touch ID with iOS Apps?

Touch ID helps to protect information in iPhone,iPad and MAcbook pro’s

Is Touch ID secure ?

Yes, Touch ID is secure. All fingerprint information is encrypted and stored in Apple’s new A7 chip. Touch ID doesn’t store any images of fingerprints,but it does store “mathematical representation” of fingerprints. Apple said it is not possible for a fingerprint image to be “reverse-engineered” from mathematical representation.

Things to remember: Only for foreground Applications

Implementing the TouchID Authentication:

First we will need to import the Local Authentication framework at the top of the ViewController.

The Local Authentication framework is quite small for Apple standards. It only has one class named LAContext.First we need to create an authentication context.  We do this by creating an instance of the LAContext class

Step1: Check if TouchID is available or enrolled on the iPhone.Because not every device has a TouchID sensor, we need to ask the context if there is a fingerprint sensor.


Step 2: Once we are sure that TouchID is available and enrolled by the user, its time to ask user to provide the Touch ID to proceed.

Provide localized reason string, It will help users to understand, why this application is asking for the TouchID.

If TouchID authenticatin is not available, the reason can be identified by accessing the errorCode property of the error parameter and will fall into one of the following categories:

  • Error.touchID Not Enrolled – The user has not enrolled any fingerprints into TouchID on the device.
  • LAError.passcodeNotSet – The user has not yet configured a passcode on the device.
  • LAError.touchIDNotAvailable – The device does not have a TouchID fingerprint scanner.

Touch ID Work Flow:

App Creation:


Advantages:

The Touch ID fingerprint sensor on the phone makes it easier for users to unlock their phone without having to remember a long, complex password. Passwords are becoming less popular because they are easily guessed. The new feature on the iPhone allow users to use the sensor along with a password. Having multiple methods of authentication makes it harder for someone to hack a person’s phone. Also, the phone comes with Find My Phone and a Wipe application that allow users to get rid of their personal information if someone steals their phone.