作者:书友58612107_778 | 来源:互联网 | 2023-05-18 19:32
我能够成功验证用户的Touch ID.但是,一旦触摸ID身份验证成功,检索用户登录名和密码以执行登录的最安全方法是什么.
对于iTunes连接应用程序,一旦触摸ID登录成功,似乎它将在本地检索密码并将其填入密码UITextField.我猜它正在使用钥匙串.
但是,将用户凭据存储在iPhone本身上是否安全?还有其他方法吗?
1> Paul Cezanne..:
您希望将登录信息存储在钥匙串中,但是您需要确保将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/