gpt4 book ai didi

ios - 通过 kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly 进行不带 FaceID 的 SecItemCopyMatching

转载 作者:行者123 更新时间:2023-11-28 23:54:40 26 4
gpt4 key购买 nike

我正在尝试通过 FaceID 解锁钥匙串(keychain)/安全区域中的数据,并使其在用户 session 期间可访问(无需额外解锁)。

Per the documentation for kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly :

After the first unlock, the data remains accessible until the next restart. This is recommended for items that need to be accessed by background applications. Items with this attribute do not migrate to a new device.

但是,每当我调用 SecItemCopyMatching() ( documentation ) 时,系统总是提示我执行 FaceID 授权。

谁能解释一下我可能做错了什么(或误解)?

最佳答案

分配给钥匙串(keychain)项目的数据保护等级和访问控制标志是分开的。

在您的问题中,您详细说明了您分配的数据保护类别,但您描述的行为是由指定的访问控制标志引起的。

数据保护等级是指设备的锁定状态,而不是钥匙串(keychain)项

如果指定一个或多个 of these values然后每次访问钥匙串(keychain)项目时都需要指定的身份验证(生物识别和/或密码)。

如果您只希望用户在第一次访问该项目时验证他们的存在,那么您可以为该项目指定无访问控制并直接使用本地身份验证框架。一旦用户成功通过身份验证,就设置一个标志,并且在该 session 中不再提示他们(或者直到特定时间未过去或您喜欢的任何逻辑)。

关于ios - 通过 kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly 进行不带 FaceID 的 SecItemCopyMatching,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51468573/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com