为 iOS 中的多个用户集成 Touch ID 和钥匙串访问

Integrating Touch ID with Keychain Access for Multiple Users in iOS

在 Apple here 提供的示例代码的帮助下,我一直致力于在我的 iOS 应用程序中集成 Touch ID 和钥匙串访问。用户的密码在第一次成功登录和后续启动时存储在钥匙串中,当用户使用 Touch ID 进行身份验证时,应用程序会从钥匙串中检索密码。到目前为止,还不错。

然而,一直困扰我的问题是,如果设备上注册了多个人的指纹,如何保证密码的安全。据我了解,Touch ID只能用于身份验证,不能用于身份识别。因此,如果多个用户在设备上注册了他们的指纹,他们中的任何一个都可以访问存储在钥匙串中的密码,从而登录应用程序。

有没有办法确保只有一个特定的指纹能够访问存储在钥匙串上的密码并登录应用程序?

LocalAuthentication 框架给我们提供的信息非常少。

  • 它只能针对某种类型的策略进行身份验证。
  • 系统接管了实际的身份验证,我们在其中没有任何作用。
  • 它只是让您知道身份验证是否成功(如果不成功, 它会告诉你原因)。

您不知道实际的身份验证过程,即使用了哪个手指。这是因为 Apple 不想让您访问此类信息。