Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何将Touch ID与登录凭据链接?_Ios_Iphone_Xcode_Keychain_Touch Id - Fatal编程技术网

Ios 如何将Touch ID与登录凭据链接?

Ios 如何将Touch ID与登录凭据链接?,ios,iphone,xcode,keychain,touch-id,Ios,Iphone,Xcode,Keychain,Touch Id,我能够成功验证用户触摸ID。但是,在touch ID身份验证成功后,检索用户登录名和密码以执行登录的最安全方式是什么 对于iTunes connect应用程序,一旦touch ID登录成功,它似乎会在本地检索密码并将其填入密码字段。我猜是用钥匙链 但是,在iPhone上存储用户凭据是否安全?还有其他方法吗 您希望将登录信息存储在钥匙链中,但需要确保辅助功能参数仅设置为未锁定时的ksecattracccessible或未锁定时的ksecattracccessible(ksecattracible未

我能够成功验证用户触摸ID。但是,在touch ID身份验证成功后,检索用户登录名和密码以执行登录的最安全方式是什么

对于iTunes connect应用程序,一旦touch ID登录成功,它似乎会在本地检索密码并将其填入密码字段。我猜是用钥匙链

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


您希望将登录信息存储在钥匙链中,但需要确保辅助功能参数仅设置为未锁定时的ksecattracccessible或未锁定时的ksecattracccessible(ksecattracible未锁定时访问此设备只会稍微安全一点,因为密码不会离开设备,例如当设备备份到笔记本电脑时。)


(代码来自

您可以使用touchID提供对钥匙链的身份验证访问-参考苹果示例代码。钥匙链提供密码的安全存储。Thx@Paulw11在钥匙链中存储用户凭据真的安全吗?我正在构建一个具有高度敏感数据的应用程序。最近,客户希望集成touch id操作。您不太可能构建一个比KeyChain提供的更安全的容器-本白皮书提供了有关KeyChain如何工作的一些背景-您可以使用设备的密码或应用程序特有的自定义密码来限制对应用程序的访问,在这两种情况下,您都可以让用户使用触摸ID i进行身份验证n除了提供实际密码/密码外,DropBox.app使用前一种方法,1Password.app使用后一种方法。
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);