如何将Touch ID与登录凭据相关联?

我能够成功validation用户的Touch ID。 但是,一旦触摸ID身份validation成功,检索用户登录名和密码以执行登录的最安全方法是什么。

对于iTu​​nes连接应用程序,一旦触摸ID登录成功,似乎它将在本地检索密码并将其填入密码UITextField。 我猜它正在使用钥匙串。

但是,将用户凭据存储在iPhone本身上是否安全? 还有其他方法吗?

在此处输入图像描述

您希望将登录信息存储在钥匙串中,但是您需要确保将accessibility参数设置为kSecAttrAccessibleWhenUnlocked或kSecAttrAccessibleWhenUnlockedThisDeviceOnly(kSecAttrAccessibleWhenUnlockedThisDeviceOnly更安全一点,因为密码不会离开设备,例如设备备份到你的笔记本。)

NSMutableDictionary *query = [NSMutableDictionary dictionary]; [query setObject:(id)kSecClassGenericPassword forKey:(id)kSecClass]; [query setObject:account forKey:(id)kSecAttrAccount]; [query setObject:(id)kSecAttrAccessibleWhenUnlocked forKey:(id)kSecAttrAccessible]; [query setObject:[inputString dataUsingEncoding:NSUTF8StringEncoding] forKey:(id)kSecValueData]; OSStatus error = SecItemAdd((CFDictionaryRef)query, NULL); 

(代码来自http://software-security.sans.org/blog/2011/01/05/using-keychain-to-store-passwords-ios-iphone-ipad/