[iOS] Authentication with TouchID

Mở đầu

Như các bạn đã biết, từ rất lâu rồi, các nhà khoa học đã chứng minh được rằng tiền có thể mua được hạnh phúc. Tuy vậy, có không ít người vẫn hoài nghi vào nghiên cứu đó

Question : Nói vậy thì nếu tôi mua iphone 5S trở lên thì có hạnh phúc hơn người chỉ mua iPhone 5 trở xuống à?

Answer : Dĩ nhiên rồi, ít nhất thì việc sử dụng Touch ID để thay cho việc ngồi gõ hàng tá chữ loằng ngoằng như user name, password cũng giúp chúng ta tiết kiệm được hàng tá thời gian để tìm kiếm hạnh phúc, giảm thiểu sự phiền phức và bực mình khi gõ sai, gõ nhầm chữ. Đó chẳng phải là hạnh phúc hay sao?

Vâng, trong bài viết hôm nay, hãy cùng nhau tạo ra hạnh phúc trên iPhone 5S trở lên với công cụ TouchID nào

Demo

Để hiểu hơn về TouchID, chúng ta sẽ cùng làm 1 ứng dụng đơn giản, thay vì nhập username và password một cách phức tạp, giờ đây mọi việc mà người dùng cần làm là quá đơn giản, chỉ cần chạm nhẹ, và mọi thứ sẽ trở nên thật tuyệt vời

Ứng dụng của chúng ta sẽ có 1 form login, gồm username và password. Và người dùng có thể để TouchID làm thay mọi việc

1. Checking

Để sử dụng TouchID, đầu tiên, dĩ nhiên rồi, là thiết bị đó phải hỗ trợ TouchID, và những cái vân tay xinh đẹp đã được chủ nhân của nó add vào trong phần Setting passcode, TouchID phải đc cài đặt để hỗ trợ việc unlock bằng password ... Nghe có vẻ có quá nhiều điều kiện lằng nhằng nhưng việc check lại cực kỳ đơn giản

LAContext().canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: nil)

và đừng quên import thư viện

import LocalAuthentication

Chỉ 1 dòng code để chắc chắn rằng mọi thứ đã sẵn sàng cho 1 cái chạm nhẹ

2. Sờ sờ chạm chạm

Nghe đến việc xử lý vân tay là biết bao điều khó khăn thử thách hiện lên trong đầu bạn. Nhưng mọi việc lại nằm ngoài sự suy đoán đó, vì nó quá đơn giản

Thật sự phải nói rằng Apple đã support quá tận tình chu đáo, chúng ta hầu như chỉ cần lên ý tưởng, việc còn lại cứ để Apple lo. Tất cả những gì chúng ta cần làm là gọi function và ngồi đợi người dùng thao tác

        var error: NSError? = nil
        guard context.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: &error) else {
            return
        }
        context.evaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, localizedReason: "Logging in with Touch ID") { (success, error) in
        // Process the success or error here
        }

Việc còn lại thật đơn giản là chúng ta chỉ cần cho các dòng code xử lý tương ứng với mỗi trường hợp là xong

Kết

Chỉ với 1 vài thao tác cực kỳ đơn giản, là bạn đã gián tiếp mang lại sự thoải mái, dễ chịu, cùng 1 đống thời gian rảnh rỗi cho người dùng tận hưởng hạnh phúc. Hay nói cách khác chính bạn đã gián tiếp mang lại hạnh phúc cho những người dùng của bạn. Mang lại hạnh phúc cho người khác cũng không phải là quá khó, phải không? =))

Note : Nếu bạn cần xem source code thì nó nằm ở đây nhé