iOS键盘扩展触摸ID验证

时间:2018-08-17 11:28:20

标签: ios custom-keyboard touch-id

问题描述:我有一个主应用程序,该应用程序被广泛使用,并通过注册流程处理基于触摸ID的登录。

在我的应用程序中注册Touch ID时,我们将评估的域状态存储在应用程序用户默认值中。

当客户使用Touch ID / face ID登录时,我们在调用服务器之前先检查了设备上的2件事

1。。触摸ID验证

2。。比较validateDomainState以识别设备上的指纹更改。如果ratedDomainState不匹配,我们要求客户重新注册触摸ID。

我们正在通过添加键盘扩展程序来增强此应用程序。键盘将使用相同的登录流程和用户默认设置。 在通过键盘登录过程中, 点1成功。尽管从主应用程序成功,但Point 2未能通过键盘扩展。 这是代码。

self.touchIDHash = self.context.evaluatedPolicyDomainState;
NSData *savedHash = [[NSUserDefaults standardUserDefaults] objectForKey:@"TouchIdHash"];
BOOL fingerPrintChanged = savedHash && ![savedHash isEqualToData:self.touchIDHash];

fingerPrintChanged在键盘扩展名登录时始终为true,在主应用程序登录中始终为false。

任何使这项工作有效的投入都会很有帮助。

1 个答案:

答案 0 :(得分:0)

由于在您的容器APP中设置了Fingerprint,
在容器应用中进行验证,然后导航回扩展程序,也许这对您来说是解决方法。