Credential Manager 可简化整个 Android 生态系统中的身份验证。它为用户提供一致的体验,并为开发者提供统一的 API 界面,以便使用通行密钥、密码和联合登录机制(例如“使用 Google 账号登录”)。虽然核心编程接口在不同类型的设备上保持一致,但每种类型的设备都有独特的界面和用户体验注意事项。若要成功实现,您需要根据每部设备的特定输入法、屏幕尺寸和用户情境调整应用的身份验证流程。
本指南概述了如何在不同的 Android 设备规格上实现 Credential Manager,重点介绍了相关注意事项,并提供了指向更详细文档的链接。
移动设备
移动设备(包括手机、平板电脑和可折叠设备)是 Android 开发最常见的目标平台。标准 Credential Manager 实现非常适合这些设备,这些设备通常配备触摸屏和设备端键盘。这种设备类型的用户体验是您调整其他设备类型的基础。身份验证流程应适合设备规格,并充分利用设备屏幕空间和输入方法。
Wear OS
Wear OS 设备的特点是屏幕小,设备端输入有限。Credential Manager 的通行密钥实现为用户提供了一个安全的登录应用环境,无需连接配对的手机,也无需记住密码。
Wear OS 的 API 与移动设备的 API 完全相同,因此您可以重复使用现有的移动设备集成。除了通行密钥、使用 Google 账号登录和使用 Credential Manager 的密码之外,您还可以使用其他身份验证方法,包括数据层令牌共享、OAuth 或现有解决方案。在您将用户迁移到凭据管理器时,这些令牌可用作备份;如果使用数据层令牌共享,则可用作长期解决方案。
使用 Wear OS 版 Credential Manager 需满足以下要求:
- 最低 API 级别:
minSdkVersion33 或更高级别- 包括对密码、通行密钥和“使用 Google 账号登录”的支持
- GMS 版本:与移动应用的要求相同
Wear OS 设备上的界面如下所示:
如需详细的实现指南和代码示例,请参阅以下资源:
限制
在 Wear OS 上使用 Credential Manager 存在以下限制:
- 不支持创建通行密钥。
- 不支持关于凭证恢复。
Android XR
借助 Android XR(包括虚拟现实和增强现实),应用可在 3D 空间中呈现。用户输入与其他设备形态的输入有根本不同,依赖于手势等自然输入。
为 XR 调整 Credential Manager 意味着要重新思考 3D 空间中的身份验证界面,无论采用通行密钥、密码还是联合登录方法。例如,身份验证提示会显示在浮动面板中,用户可以使用手势进行选择。您还需要考虑目标 XR 设备是否有任何特定的硬件或软件前提条件。
一个关键的设计挑战是在 VR 或 AR 环境中打造直观且安全的身份验证体验。您还必须考虑如何在多用户 XR 场景中管理身份,因为在这些场景中,不同的人可能会使用同一设备。
使用 Android XR 的 Credential Manager 需满足以下要求:
- 最低 API 级别:
minSdkVersion34 或更高级别 - GMS 版本:与移动应用的要求相同
- 模拟器:
- 最低模拟器系统映像:
- macOS:Google Play XR ARM 64 v8a 系统映像修订版 7
- Windows:Google Play XR Intel x86_64 Atom 系统映像修订版 7
- 高于 35.6.11 稳定版的模拟器版本
- 最低模拟器系统映像:
XR 上的登录体验可能如下所示:
XR 不支持的流程
Android XR 中的 Credential Manager 不支持需要另一设备扫描二维码的身份验证流程。在 XR 头戴设备上的登录过程中以及使用模拟器进行测试时,可以观察到此行为。
如需详细了解 XR,请参阅 Android XR。
Android TV
Android TV 设备通常是公用的,需要从远处观看,并使用方向键遥控器进行导航。在此环境下,用户可能难以输入用户名和密码。Credential Manager 支持“使用 Google 账号登录”、已保存的密码和跨设备通行密钥,从而简化了 Android TV 上的身份验证。
由于电视是公用设备,没有锁屏验证凭据 (LSKF),因此通行密钥不会直接在电视上创建或存储。而通行密钥身份验证则使用跨设备混合流程:电视会显示一个二维码,用户使用移动设备扫描该二维码即可完成生物识别身份验证。
使用 Credential Manager for Android TV 需满足以下要求:
- 最低 API 级别:Android 14(API 级别 34,
minSdkVersion34)或更高级别 - GMS 版本:2026W30 或更高版本
- 通行密钥的硬件:需要使用配备摄像头和蓝牙的辅助移动设备来扫描二维码并完成 FIDO 混合流程
限制
由于 Android TV 是一种公用设备,因此在此平台上使用 Credential Manager 时,为了保护用户隐私和安全,存在以下有意设置的限制:
- 无法在本地创建或存储通行密钥:无法直接在电视上创建或存储通行密钥。由于不支持本地凭据,请勿在请求中将
preferImmediatelyAvailableCredentials设置为true;否则,系统会过滤掉跨设备通行密钥,并且无法返回凭据。 - 无第三方凭据提供程序:Android TV 不支持自动填充,因此第三方密码管理器无法在该平台上使用。用户必须使用 Google 密码管理工具。
- 无凭证恢复功能:Android TV 不支持使用关于凭证恢复中的方法自动登录新设备。
如需详细了解电视开发,请参阅 Android TV 概览。