Credential Manager 常见问题解答

本页面上的问答对旨在帮助您更好地理解 Credential Manager 的实现细节。

您的反馈对于改进 Credential Manager API 至关重要。请使用以下链接分享您发现的任何问题或改进 API 的想法

提供反馈

集成

为什么需要另一个用于应用身份验证的 Jetpack 库?

Jetpack Credential Manager 库可在所有 Android 版本中提供统一的登录体验。它还能让您及时获取包含最新功能的更新。它具有向后兼容性,对 Android 4.4 及更高版本提供通用支持,并对 Android 9 及更高版本提供通行密钥支持。

这些凭据来自哪里?

凭据来自与 Credential Manager 集成并由用户启用的凭据提供程序和密码管理器,例如 Google 密码管理工具。此外,对于通行密钥,用户可以使用混合流程选择从另一台设备获取它们。

在哪些不同的用例中,实现 Credential Manager 更合理或更有必要?

Credential Manager 为您的应用提供了一种无缝且安全的方式,通过整合的 API 管理身份验证流程,该 API 为多种登录方法提供了统一的用户界面。这有几个好处

  • 用户喜欢在一个地方看到他们的所有凭据;通行密钥、密码以及通过 Google 帐号登录等联合凭据,无需点按 3 个不同的位置
  • 通过整合每个帐号的登录方法,提供更简单的登录体验。

    此外,在 Android 14 设备上,用户界面仅显示最安全、最简单的身份验证方法。例如,如果用户对于同一帐号同时拥有通行密钥和密码,则帐号选择器中仅建议使用通行密钥。

  • 在单个 API 中支持多种登录机制。它为 Android 应用带来了对通行密钥的支持,助力迈向无密码未来。同时,它还支持密码和通过 Google 帐号登录等联合登录,简化了集成要求和持续维护。

集成过程中需要添加多个依赖项,为什么需要多个依赖项?是否无法只使用一个依赖项来达到同样的效果?

有一个必需的依赖项和一个可选的。应用根据其用例包含不同的依赖项。

  1. [必需] androidx.credentials:credentials: 包含 Credential Manager 的核心功能,包括密码和通行密钥支持。
  2. [可选] androidx.credentials:credentials-play-services-auth: 提供 Google Play 服务对 Credential Manager 的支持,让您可以在旧设备上使用这些 API。

Credential Manager 是否支持使用来自另一台设备的凭据?

Credential Manager 通过混合传输支持跨设备通行密钥使用。

开发者能否使用 Credential Manager 将其注册和登录流程合并为一个 API 调用?

目前暂无计划。

用户体验 (UX)

如果用户已设置了未在 Credential Manager 中注册的提供程序,会向用户显示什么用户体验?

未在 Credential Manager 中注册的提供程序将继续使用自动填充框架运行,在键盘和下拉菜单中显示建议。

其他

既然已经有不同的登录选项并且也有屏幕锁定功能,为什么还需要 Credential Manager?

在 Android 设备上,用户有不同的解决方案来方便对应用和网站进行身份验证。由于每个应用可能集成不同的解决方案组合,因此用户体验可能会有很大的差异。

Credential Manager 为 Android 上的第三方服务提供了连贯一致的登录用户体验,无论用户偏好或应用支持何种登录方法:用户名和密码、通行密钥或联合身份。

通过 Credential Manager API 使用通行密钥可以满足哪些具体的用户需求?

  • 消除用户创建和记住复杂密码的需求。
  • 创建一种防网络钓鱼的登录形式,从而提高用户安全性。

主要 bug 发布更新需要多长时间?

Jetpack 每两周发布一次。平台会根据 bug 的类型和严重程度发布安全版本、季度版本和甜点版本。详细了解Jetpack 发布流程

集成后是否会影响性能(应用启动时间)?

建议明智地选择何时初始化 Credential Manager 登录流程,并在 API 初始化后衡量您的应用性能。

此 API 是否与 Android Go 设备兼容?

是的,此 API 与 Go 设备兼容。

如果开发者使用短信验证码或联合身份登录,Credential Manager 是否也支持?

Credential Manager 支持通行密钥、密码和 Google ID 令牌作为登录方法。Google ID 令牌也可用于注册流程。