如何使用Google Smart Lock实现生物识别登录及跨重装免密验证
Google Smart Lock 生物识别登录实现与adaptive token存储方案
一、生物识别登录实现流程
- 首先在应用级
build.gradle中引入Google Play认证服务依赖,示例配置如下:dependencies { implementation 'com.google.android.gms:play-services-auth:20.7.0' } - 用户首次完成账号密码/验证码登录后,构建
Credential对象,将登录态凭证存入Smart Lock,配置setUserVerificationRequired(true)属性,强制要求后续读取凭证前必须完成生物特征(指纹、人脸)验证。 - 后续应用启动需要登录时,先调用Smart Lock的凭证读取接口,系统会自动匹配当前应用关联的已存储凭证:存在匹配凭证时触发生物识别弹窗,用户验证通过后即可直接获取到登录凭证完成自动登录,无需手动输入账号信息。
二、adaptive token存储与重装应用登录可行性
该方案可以实现,核心逻辑如下:
- Google Smart Lock的凭证存储是和用户Google账号绑定、支持云端同步的,自定义字符串类内容(包括adaptive token)都可以作为自定义字段存入Credential对象。
- 只要用户重装应用后设备登录的是同一个Google账号,且开启了Smart Lock同步功能,就可以拉取到之前存储的adaptive token,触发指纹验证通过后即可完成登录,不需要用户重新输入身份信息。
- 仅存在两个边界限制:
- 用户主动关闭Google账号的Smart Lock云端同步功能时,重装应用后无法拉取到历史存储的凭证
- 跨Google账号使用应用时,无法获取到其他账号下存储的对应token
内容的提问来源于stack exchange,提问作者Kuldeep Saini
相关产品推荐
相关产品推荐

