android APP实现指纹免密登录的实现思路
现如今,如多APP都实现了指纹登录的功能,指纹登录逻辑很简单,在豆包或者其他AI工具中输入“Android APP实现指纹登录”就可以得到详细的代码,但是代码只是初级实现,其实指纹登录还需要跟APP自身系统进行打通,怎么做呢?
我们自己的APP是通过三方SDK来实现指纹登录的,结合自己的APP来说下整体思路。
实现指纹登录需要连个阶段,指纹注册阶段和指纹登录阶段。APP第一次使用指纹的时候需要经过注册阶段。
注册阶段流程:
1、如果没有登录,则让用户先手动输入客户号和密码完成登录,注意密码需要在注册指纹时使用,同时将客户号加密保存到本地
2、调用后台接口A判断用户是否在别的设备注册过指纹,如果有则别的设备的指纹会重置失效(即互踢)
3、调用后台接口B,将客户号usercode,androidID,deviceId等信息交给注册接口
4、注册成功后会返回一串信息,比如json,然后SDK调用系统指纹API完成指纹录入
5、指纹录入完成后,继续调用后台接口C,将第1步的密码PassWord和第4步的json交给该接口。
注意第五步有个细节,就是将PassWord字符串截取成两部分passWord1和passWord2,每一部分都需要加密然后Base64,然后将passWord1保存到服务器,将passWord2保存到本地。
指纹登录流程:
1、根据客户号(客户号从本地缓存读取,需要解密)、androidID ,deviceID等请求接口获取相关信息。比如一串jsonStr
2、接口请求成功后SDK调用系统指纹页面,进行指纹验证
3、指纹验证成功后,结合jsonStr、客户号等信息再次发起