在iOS中使用数据库处理TouchID身份验证登陆问题

3

我是新手,对IOS 8及其新功能不太了解。我想在我的应用程序中使用Touch ID进行登录。

通常情况下,我的应用程序需要用户名、密码和部门才能登录。我将输入用户名、密码和部门,然后后端会检查是否匹配正确并发送成功响应。

现在,如果我提供Touch ID作为登录选项。我知道如何使用LAContext在我的应用程序中使用TouchID。但是在成功身份验证后,如何确定已认证的用户是特定用户呢?因为API没有返回任何响应来保存到数据库中,例如唯一密钥。

http://cdn.hayageek.com.s3.amazonaws.com/downloads/ios/TouchIdAuthentication.zip

我搜索了一下,发现可以使用KeychainTouchID来实现Touch ID的功能。但是,我该如何在keychain中最初使用用户名、密码和部门,然后在TouchID身份验证后验证这些详细信息是否存在,然后检索这些详细信息并使用这些值调用服务。

https://developer.apple.com/library/ios/samplecode/KeychainTouchID/History/History.html

这是正确的方法吗?还是有其他替代方案可以满足我的要求。

示例:用户A、B和C拥有支持TouchID的设备,比如iPhone 5S。

在应用程序中,他们保存了一些用户名,比如AA、BB和CC。

在A成功使用TouchID进行身份验证后,我们如何知道该用户是AA还是BB还是CC。

欢迎提供任何想法或建议。

谢谢...

2个回答

1

你应该将受TouchID保护的用户名和密码存储在钥匙串中。然后,当需要验证用户时,只需向钥匙串请求数据。iOS会自动要求用户使用他的手指。如果认证成功,则可以获取你的用户名和密码。


0

您只能通过询问用户来确定是哪个用户。无法从指纹中确定用户。您必须将Touch ID视为“这是一个指纹的数学表示形式。它是否匹配?” 的方式,回应要么是“是”要么是“否”。没有“是的,它匹配这个人。”

如果我正确理解了您的问题。用户A、B和C都可以为设备设置指纹。您可以要求用户选择他们的用户名,例如A会选择A,B会选择B等等。让用户输入他们的密码。向钥匙串请求该密码。如果用户经过身份验证,则使用输入的密码进行检查。

但是,如果用户B知道用户A的密码并选择他们是用户A,一旦TouchID身份验证成功,他们仍然可以登录到用户A的区域。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接