博客> iOS 对指纹识别的认识和理解(实例为指纹登陆)
iOS 对指纹识别的认识和理解(实例为指纹登陆)
2018-12-13 21:54 评论:0 阅读:644 老白爱学习
ios touchID

TouchID 指纹识别是IPhone5s设备新增的一项重大功能,用于数据加密和安全。而在IOS8.0 以后也向第三方开放了相应功能API,我们可以利用这个API做相应的用户验证和登录的功能,省去输入密码的环节,提高登录的用户体验。

API比较简单,在IOS 8 以上的app 包中,添加Libraries:LocalAuthentication Framework,有以下两个方法

  1. canEvaluatePolicy:error: 监测设备是否支持TouchID,返回BOOL,并且若不支持,则在error里面返回相应状态
  2. evaluatePolicy:localizedReason:error; TouchID验证状态,在block里面返回验证状态(BOOL)和error; 从官方API看出,仅仅提供TouchID的支持状态和验证状态(BOOL),并不提供关于本设备或本app任何可关联的信息,所以集成TouchID还需自行设计关联和流程,才能实现指纹登录的功能,否则只验证TouchID,对于需在app中登录账号,并没什么作用。

比如我们独自设计一个集成TouchID登陆的功能(设计思路) 在设备第一次使用指纹登陆之前,必须先登陆原有的账号,进行设备(用户)的绑定.

开启指纹登陆

  1. 在APP登陆后,肯定需要开启”指纹登陆”功能.
  2. 在打开指纹登陆后,检测当前设备是不是支持TouchID,如果支持则发起验证功能. 验证通过后,可根据需要进行处理.(比如把对应的账号密码存在钥匙串等)
  3. 将原账号以及钥匙串中的账号/密码,加密发送到服务器进行绑定.
  4. 验证原账号及设备账号有效后,返回响应指纹登陆的状态,绑定成功.  Snip20170331_2.png 进行指纹登陆时:
  5. 进行指纹登陆后,检查当前设备是不是支持TouchID,若支持发起TouchID验证.
  6. 读取APP在本机的设备账号/密码,调用登陆接口,发起登陆请求.
  7. 验证设备账号/密码是不是正确,返回响应状态,若登陆成功则完成指纹登陆  Snip20170405_2.png

TouchID API 非常简单,仅仅对本设备的TouchID进行验证,但如果需要在app集成相应的 “设备登录/验证”功能或其他TouchID 的应用,则需自行设计关联和绑定流程(例如在本app中使用的关联:设备账号信息、生成设备账号/密码),绑定之后,才能使用TouchID 进行验证和应用

Demo地址:https://github.com/bailongteng/TouchID

收藏
1
sina weixin mail 回到顶部