凭据管理器常见问题解答

此页面上的问答对旨在帮助您更好地了解凭据管理器的实现细节。

您的反馈对于改进凭据管理器 API 至关重要。使用以下链接分享您发现的任何问题或改进 API 的想法

提供反馈

集成

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

Jetpack 凭据管理器库提供了跨所有 Android 版本的统一登录体验。它还允许您及时获取最新功能的更新。它具有向后兼容性,Android 4.4 及更高版本普遍支持,Android 9 及更高版本支持密钥。

这些凭据来自哪里?

凭据来自与凭据管理器集成的凭据提供程序和密码管理器(例如Google 密码管理器),并且用户已启用这些凭据。此外,对于密钥,用户可以选择使用混合流程从另一台设备获取它们。

在哪些不同的用例中,凭据管理器更有意义或更需要实现?

凭据管理器为您的应用提供了一种无缝且安全的方式来管理身份验证流程,在一个统一的 API 中提供多种登录方法的统一用户界面。这有几个好处

  • 用户喜欢在一个地方看到所有凭据;密钥、密码和联合凭据(如“使用 Google 登录”),而无需点击 3 个不同的地方
  • 通过整合每个帐户的登录方法,提供更简单的登录体验。

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

  • 支持在单个 API 中使用多种登录机制。它为 Android 应用带来了密钥支持,从而实现了向无密码未来的过渡。同时,它还支持密码和联合登录(如“使用 Google 登录”),简化了集成要求和持续维护。

集成期间需要添加多个依赖项,为什么需要多个依赖项?是否可以只有一个依赖项来实现相同的功能?

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

  1. [**必需**] androidx.credentials:credentials:包含核心凭据管理器功能,包括密码和密钥支持。
  2. [**可选**] androidx.credentials:credentials-play-services-auth:提供来自 Google Play 服务对凭据管理器的支持,使您能够在旧版设备上使用 API。

凭据管理器是否支持使用来自其他设备的凭据?

凭据管理器通过混合传输支持跨设备密钥使用。

开发者能否使用凭据管理器将他们的注册和登录流程合并到一个 API 调用中?

目前尚未计划。

UX

如果用户已设置了未在凭据管理器中注册的提供程序,则向用户显示什么 UX?

未在凭据管理器中注册的提供程序将继续与自动填充框架一起运行,在键盘和下拉菜单中显示建议。

其他

当已存在不同的登录选项并且也存在屏幕锁定时,为什么还需要凭据管理器?

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

凭据管理器为 Android 上的第三方服务提供了一种连贯且一致的登录用户体验,无论用户偏好的登录方式或应用支持的方式如何:用户名和密码、密钥或联合身份。

通过凭据管理器 API 使用密钥可以满足哪些具体的用户需求?

  • 消除用户创建和记住复杂密码的需要。
  • 创建一种防钓鱼的登录方式,提高用户的安全性。

重大 Bug 的更新需要多长时间才能发布?

Jetpack 每两周发布一次。该平台根据 Bug 的类型和严重程度提供安全版本、季度版本和甜点版本。了解有关 Jetpack 发布流程 的更多信息。

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

建议明智地选择何时初始化凭据管理器登录流程,并在初始化 API 后衡量应用性能。

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

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

如果开发者使用短信 OTP 或联合身份进行登录,凭据管理器是否也支持?

凭据管理器支持密钥、密码和 Google ID 令牌作为登录方式。Google ID 令牌也可用于注册工作流程。