私のアプリでは、ユーザーは電子メール/パスワードを使ってバックエンドに認証/ログインできます。今私もタッチIDを実装することを考えています。Swift ios touch idログインフロー
しかし、私はタッチIDを使用してログインフローについて混乱しています。コードを使用して
怒鳴る私は簡単なユーザー認証を行うことができます。
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)
}
}
をしかし、私はそれがあるユーザーを知りません。
ユーザーがアカウントを作成したときに、デバイスID(存在する場合)をDBに保存する必要があります。ユーザーがタッチIDを使用すると、デバイスIDを確認できます。