首先,我们需要拿到服务端返回的用户凭证,随后将用户凭证传给指纹设备,调起系统的指纹认证,认证通过后,回调函数会返回设备id与客户端信息,我们需要将这些信息保存在服务端,用于后面调用指纹设备来验证用户身份,从而实现登录。
接下来,我们总结下注册指纹的过程,如下所示:
用户使用其他方式在网站登录成功后,服务端返回用户凭证,将用户凭证保存到本地
检测客户端是否存在指纹设备
如果存在,将服务端返回的用户凭证与用户信息传递给指纹注册函数来创建指纹
身份认证成功,回调函数返回设备id与客户端信息,将设备id保存到本地
将设备id与客户端信息发送至服务端,将其存储到指定用户数据中。
注意:注册指纹只能工作在使用 https 连接,或是使用 localhost的网站中。
指纹认证
用户在我们网站授权指纹登录后,会将用户凭证与设备id保存在本地,当用户进入我们网站时,会从本地拿到这两条数据,提示它是否需要通过指纹来登录系统,同意之后则将设备id与用户凭证传给指纹设备,调起系统的指纹认证,认证通过后,调用登录接口,获取用户信息。
接下来,我们总结下指纹认证的过程,如下所示:
从本地获取用户凭证与设备id
检测客户端是否存在指纹设备
如果存在,将用户凭证与设备id传给指纹认证函数进行校验
身份认证成功,调用登录接口获取用户信息
注意:指纹认证只能工作在使用 https 连接,或是使用 localhost的网站中。
实现过程
上一个章节,我们捋清了指纹登录的具体实现思路,接下来我们来看下具体的实现过程与代码。
服务端实现
首先,我们需要在服务端写3个接口:获取TouchID、注册TouchID、指纹登录