W mojej aplikacji użytkownik może uwierzytelnić/zalogować się do mojego backend za pomocą e-mail/hasło. Teraz zastanawiam się również nad implementacją identyfikatora Touch ID.Swift ios touch id przepływu logowania
Ale jestem zdezorientowany, jeśli chodzi o przepływ logowania za pomocą identyfikatora dotyku.
Używając kodu myszki następnie można łatwo uwierzytelnić użytkownika:
func authenticateUser() {
let context = LAContext()
var error: NSError?
if context.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: &error) {
let reason = "Identify yourself!"
context.evaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, localizedReason: reason) {
[unowned self] success, authenticationError in
DispatchQueue.main.async {
if success {
self.runSecretCode()
} else {
let ac = UIAlertController(title: "Authentication failed", message: "Sorry!", preferredStyle: .alert)
ac.addAction(UIAlertAction(title: "OK", style: .default))
self.present(ac, animated: true)
}
}
}
} else {
let ac = UIAlertController(title: "Touch ID not available", message: "Your device is not configured for Touch ID.", preferredStyle: .alert)
ac.addAction(UIAlertAction(title: "OK", style: .default))
present(ac, animated: true)
}
}
ale nie wiem, który użytkownik jest.
Tak więc, kiedy użytkownik tworzy konto, czy powinienem przechowywać w moim DB coś w rodzaju identyfikatora urządzenia (jeśli istnieje), to kiedy użytkownicy używają identyfikatora dotykowego, mogę sprawdzić, jaki jest identyfikator urządzenia, a następnie zalogować użytkownika?