在各种设备类型上进行身份验证

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 级别:minSdkVersion 33 或更高级别
    • 包括对密码、通行密钥和“使用 Google 账号登录”的支持
  • GMS 版本:与移动应用的要求相同

Wear OS 设备上的界面如下所示:

在 Wear OS 上,通行密钥登录界面显示为首选身份验证方法。
图 1a. 通行密钥。
Wear OS 上可供用户使用的通行密钥、密码和“使用 Google 账号登录”选项。
图 1b。通行密钥、密码和“使用 Google 账号登录”。

如需详细的实现指南和代码示例,请参阅以下资源:

限制

在 Wear OS 上使用 Credential Manager 存在以下限制:

Android XR

借助 Android XR(包括虚拟现实和增强现实),应用可在 3D 空间中呈现。用户输入与其他设备形态的输入有根本不同,依赖于手势等自然输入。

为 XR 调整 Credential Manager 意味着要重新思考 3D 空间中的身份验证界面,无论采用通行密钥、密码还是联合登录方法。例如,身份验证提示会显示在浮动面板中,用户可以使用手势进行选择。您还需要考虑目标 XR 设备是否有任何特定的硬件或软件前提条件。

一个关键的设计挑战是在 VR 或 AR 环境中打造直观且安全的身份验证体验。您还必须考虑如何在多用户 XR 场景中管理身份,因为在这些场景中,不同的人可能会使用同一设备。

使用 Android XR 的 Credential Manager 需满足以下要求:

  • 最低 API 级别:minSdkVersion 34 或更高级别
  • GMS 版本:与移动应用的要求相同
  • 模拟器:
    • 最低模拟器系统映像:
      • macOS:Google Play XR ARM 64 v8a 系统映像修订版 7
      • Windows:Google Play XR Intel x86_64 Atom 系统映像修订版 7
    • 高于 35.6.11 稳定版的模拟器版本

XR 上的登录体验可能如下所示:

Android XR 中以浮动 3D 面板形式显示的 Credential Manager 登录提示。
图 2. XR 中的 Credential Manager 界面。

XR 不支持的流程

Android XR 中的 Credential Manager 不支持需要另一设备扫描二维码的身份验证流程。在 XR 头戴设备上的登录过程中以及使用模拟器进行测试时,可以观察到此行为。

如需详细了解 XR,请参阅 Android XR。

Android TV

Android TV 设备通常是公用的,需要从远处观看,并使用方向键遥控器进行导航。在此环境下,用户可能难以输入用户名和密码。Credential Manager 支持“使用 Google 账号登录”、已保存的密码和跨设备通行密钥,从而简化了 Android TV 上的身份验证。

Android TV 上的 Credential Manager 登录提示,其中显示了“使用 Google 账号登录”和密码的已保存账号,以及使用通行密钥的选项。
图 3. Android TV 上的 Credential Manager 界面,其中显示了“使用 Google 账号登录”、已保存的密码和通行密钥选项。

由于电视是公用设备,没有锁屏验证凭据 (LSKF),因此通行密钥不会直接在电视上创建或存储。而通行密钥身份验证则使用跨设备混合流程:电视会显示一个二维码,用户使用移动设备扫描该二维码即可完成生物识别身份验证。

使用 Credential Manager for Android TV 需满足以下要求:

  • 最低 API 级别:Android 14(API 级别 34,minSdkVersion 34)或更高级别
  • GMS 版本:2026W30 或更高版本
  • 通行密钥的硬件:需要使用配备摄像头和蓝牙的辅助移动设备来扫描二维码并完成 FIDO 混合流程

限制

由于 Android TV 是一种公用设备,因此在此平台上使用 Credential Manager 时,为了保护用户隐私和安全,存在以下有意设置的限制:

  • 无法在本地创建或存储通行密钥:无法直接在电视上创建或存储通行密钥。由于不支持本地凭据,请勿在请求中将 preferImmediatelyAvailableCredentials 设置为 true;否则,系统会过滤掉跨设备通行密钥,并且无法返回凭据。
  • 无第三方凭据提供程序:Android TV 不支持自动填充,因此第三方密码管理器无法在该平台上使用。用户必须使用 Google 密码管理工具。
  • 无凭证恢复功能:Android TV 不支持使用关于凭证恢复中的方法自动登录新设备。

如需详细了解电视开发,请参阅 Android TV 概览。

其他资源