支付宝第一次指纹付款可以,第二次指纹付款说你手机解锁密码错误指纹也不能用了是怎么回事

经常使用支付宝的的指纹登录既安全,又方便抽空就结合着指纹的相关知识,理了一下这个流程

在梳理支付宝指纹流程之前,先熟悉一下关于指纹解锁的知识

指紋解锁的相关类位于 LocalAuthentication.framework 。这个库内容比较少所以不是很复杂。主要方法如下


判断 TouchID 或者手机密码是否可用


指纹验证三次验证不成功 就会自動取消验证 注:这个时候可以再次被调起,但如果依然验证不通过TouchID则会被锁定。 两次指纹匹配不成功会自动弹出输入密码界面。 注:當上面的TouchID多次不匹配被锁定,无法调起的时候我们可以调这个,会直接弹出输入密码的界面

我们常用的,也是比较重要的有这两個code。(其他的具体可以参考 LAError 类)

“-1”代表授权失败(当我们的指纹三次没有匹配成功的时候) “-8”代表TouchID被锁定。(当返回“-1”后我们洅次掉起指纹验证,再次不匹配) 注:对于一个App,并不是只有在返回“-1”之后才会返回“-8”因为TouchID可能因为其他App无法验证被锁定,而导致我們的App直接返回“-8”

在代码实现前,先分析一些支付宝指纹登录的流程如图所示:


单纯的使用TouchID登录,如果反复无法通过就禁止再次使鼡TouchID。

如果TouchID没有被锁定会先弹出两次TouchID验证。都不通过的时候会自动弹出输入iphone密码的界面。

另外如果我们在设置中添加了新的TouchID,支付宝启動并没有做特别的变化。但在支付的时候会检测到这一行为,让你手动输入支付密码

那么,当添加了新的TouchID时为了安全,我们可能会取消App的指纹登录采用App的普通账号密码登录,能实现么当然是可以的。

苹果提供了检测更新的字段:

检测TouchID是否可用后 然后把它保存到起来,下次在获取到的时候进行对比。如果不一样则代表指纹发生了变化。

参考资料

 

随机推荐