Credential Manager 是 Android 应用中凭据交换的推荐 Jetpack API 。Credential Manager API 可简化各种设备规格的凭据交换,以用于涵盖身份验证和授权的用例。您还可以使用 Credential Manager 处理数字凭据,并在新的 Android 设备上恢复用户凭据。
Credential Manager 特点
Credential Manager 提供了一系列强大的功能,可简化登录流程并提高安全性,包括:
- 支持各种身份验证机制:让用户能够使用以下方式注册
或登录您的应用:
- 通行密钥
- 使用 Google 账号登录 和其他联合登录机制
- 密码
- 数字凭据
- 跨设备凭据恢复:与恢复 凭据集成,让用户能够在新 设备上无缝开始使用您的应用。
- 与凭据提供程序无缝集成:支持 凭据提供程序,包括密码管理工具(例如 Google 密码管理工具)。
- 凭据管理:支持更新用户 凭据的元数据,有助于在您的应用和 凭据提供方之间保持凭据一致性。
- WebView 兼容性:适用于使用 WebView 的应用。
- 自动填充集成:与自动填充功能集成,以便在自动填充界面中显示 凭据。
使用 Credential Manager 的优势
采用 Credential Manager 可为您的应用和用户带来以下几项关键优势:
- 提高安全性:通行密钥可提高安全性,并保护用户 免受钓鱼式攻击。
- 支持各种设备规格:这些 API 适用于各种 Android 设备 规格,包括移动设备、Android XR 设备和 Wear OS 设备。
- 简化各种用例的身份验证:数字凭据, 例如数字驾照、企业 ID 和国民身份证, 支持各种用例的身份验证,包括需要 电话号码验证的用例。
- 改善用户体验:Credential Manager 的统一界面为 用户提供熟悉且一致的体验,并提高注册和 登录速度。底部动作条界面会与应用内容内嵌显示,因此用户在登录期间仍处于应用的情境中。下图显示了 Credential Manager 的内置界面:
身份验证术语
需要对其用户进行身份验证的实体称为依赖方 。身份验证工作流通常包含以下组件:
- 依赖方客户端应用:客户端(在本例中为您的 Android 应用),用于处理界面以创建和使用通行密钥。
- 依赖方服务器:应用服务器,用于帮助创建、 存储和验证通行密钥。
- 凭据提供程序:用于存储和提供用户 凭据的组件,例如 Google 密码管理工具。请注意, FIDO 文档将凭据提供程序称为 Credential Manager。
凭证存储空间
凭据提供程序(例如 Google 密码管理工具)为用户提供了一个集中且安全的位置来管理其设备上的凭据,从而进一步简化了身份验证流程。如需以 凭据提供程序身份与 Credential Manager 集成,请参阅 以凭据提供程序身份实现身份验证。
如需详细了解 Google 密码管理工具如何确保凭据 安全,请参阅 Google 密码管理工具中的通行密钥的安全性。
迁移至 Credential Manager
Credential Manager 旨在取代旧版 Android 身份验证 API 和本地 FIDO2 凭据。如需详细了解如何迁移至 Credential Manager,请参阅以下指南: