本页中的问题及解答旨在帮助您更好地理解 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 个必需的依赖项和 1 个可选的依赖项。应用的依赖项因其用例而异。
- [必需] androidx.credentials:credentials:包含 核心 Credential Manager 功能,包括密码和通行密钥 支持。
- [可选] androidx.credentials:credentials-play-services-auth:提供 Google Play 服务的 Credential Manager 支持,让您可以在旧版设备上使用 API。
Credential Manager 是否支持在其他设备中使用凭据?
Credential Manager 支持通过混合传输来跨设备使用通行密钥。
开发者是否可以使用 Credential Manager 将注册和登录流程合并到一个 API 调用中?
目前无此计划。
用户体验
如果用户设置了未向 Credential Manager 注册的提供程序,系统会向用户显示什么用户体验?
未向 Credential Manager 注册的提供程序会继续使用自动填充框架,在键盘和下拉菜单中显示建议。
其他
当已有不同的登录选项且也设置了屏锁时,为什么还需要 Credential Manager?
在 Android 设备上,用户可以采用不同的解决方案来向应用和网站进行身份验证。由于每个应用都可能与不同的解决方案组合集成,因此用户体验可能截然不同。
无论用户偏爱哪种登录方式或应用支持何种登录方式(用户名和密码登录、通行密钥或联合身份),Credential Manager 都会为 Android 上的第三方服务提供一致的登录体验。
通过 Credential Manager API 使用通行密钥可以满足哪些特定的用户要求?
- 用户无需创建或记住复杂的密码。
- 提供能够抵御钓鱼式攻击的登录方式,为用户加强安全保护。
针对重大 bug 发布更新需要多长时间?
Jetpack 每两周发布一次。该平台提供安全版本、季度版本和 dessert 版本,具体取决于 bug 的类型和严重程度。详细了解 Jetpack 发布流程。
集成后是否会对性能(应用启动时间)有所影响?
建议您审慎地选择何时初始化 Credential Manager 登录流程,并在 API 完成初始化后衡量应用的表现。
此 API 是否与 Android Go 设备兼容?
是,此 API 与 Go 设备兼容。
如果开发者使用短信动态密码或联合身份登录,Credential Manager 是否会提供相应的支持?
Credential Manager 支持使用通行密钥、密码和 Google ID 令牌作为登录方式。Google ID 令牌还可用于注册工作流。