ios - Apple Touch Id 作为应用程序中的 PIN 码

标签 ios authorization touch-id

因此,在 iOS 8 上,我们可以检查当前用户设备所有者,因为他具有完全相同的指纹。 iOS 为我们提供 truefalse 值。

但是我们如何使用这个值作为PIN-code来进行App的授权呢?例如,我们可以在哪里存储用户的登录名和密码,我们可以读取这些信息,然后在互联网服务中使用?

最佳答案

Apple documentation for Local Authentication 中所述(正如你提到的):

代码:

- (void)evaluatePolicy:(LAPolicy)policy
       localizedReason:(NSString *)localizedReason
                 reply:(void (^)(BOOL success,
                                 NSError *error))reply

Reply block that is executed when policy evaluation finishes. This block is evaluated on a private queue internal to the framework in an unspecified threading context. You must not call canEvaluatePolicy:error: in this block, because doing so could lead to deadlock.

success: YES if policy evaluation succeeded, NO otherwise.

因此无法根据指纹确定您的 PIN、登录/密码或身份验证 token 。但是,您可以对其进行加密并将其存储在应用程序存储中的某个位置。因此,如果指纹身份验证成功,您可以使用它来授权访问应用程序及其资源。当然,这种权衡完全取决于您应用的安全限制。

Local Authentication API 最好能知道用户更新(更改)指纹,这样您就可以请求用户再次进行身份验证。不幸的是,没有这样的 API。

我们还可以推测 Apple 是否会为指纹引入哈希;但我认为如果有人窃取哈希值可能会造成安全威胁,因此我不相信我们可以看到这样的 API 函数。

关于ios - Apple Touch Id 作为应用程序中的 PIN 码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24742705/

相关文章:

ios - 未能对 UIBezierPath 进行描边()

authentication - 在应用层的 CoAP 中是否有授权和认证的方法?

architecture - 授权服务如何在基于角色的微服务架构中实现所有权检查

python - 如何在 Django 中的更新/创建/删除 View 上使用 login_required

ios - LocalAuthentication 框架 - 如何让 "Enter Password"在第一次调用时显示

ios - 导入 LocalAuthentification.framework 在 iOS 7.1 上崩溃

objective-c - Touch ID for KeyChain 无 PIN 回退

ios - UITextField 最大输入 View 高度

ios - 当收到低内存警告时,在处理过程中停止 PerformRequestsWithTarget

ios - 我想要一个 UIView 覆盖整个屏幕甚至导航栏,但显示它的 subview