因此,在 iOS 8
上,我们可以检查当前用户是
设备所有者,因为他具有完全相同的指纹。 iOS
为我们提供 true
或 false
值。
但是我们如何使用这个值作为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/