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

Credential Manager 可简化整个 Android 生态系统中的身份验证。它为用户提供一致的体验,并为开发者提供统一的 API 界面,以便他们使用通行密钥、密码和联合登录机制(例如“使用 Google 账号登录”)。虽然核心编程接口在不同类型的设备上保持一致,但每种类型的设备都有独特的界面和用户体验注意事项。若要成功实现,您需要根据每台设备的特定输入法、屏幕尺寸和用户情境调整应用的身份验证流程。

本指南概述了如何在不同的 Android 设备上实现凭据管理器,重点介绍了相关注意事项,并提供了指向更详细文档的链接。

移动设备

移动设备(包括手机、平板电脑和可折叠设备)是 Android 开发最常见的目标平台。标准凭据管理器实现非常适合这些设备,这些设备通常配备触摸屏和设备端键盘。此设备类型的用户体验可作为基准,您可在此基础上调整其他设备类型的用户体验。身份验证流程应适合相应设备规格,并充分利用设备屏幕空间和输入方法。

Wear OS

Wear OS 设备的特点是屏幕小,设备端输入有限。Credential Manager 的通行密钥实现方案为用户提供了一个安全的登录应用环境,无需连接配对的手机,也无需记住密码。

Wear OS 的 API 与移动设备的 API 完全相同,因此您可以重复使用现有的移动设备集成。除了通行密钥、使用 Google 账号登录和使用 Credential Manager 的密码之外,您还可以使用其他身份验证方法,包括数据层令牌共享、OAuth 或现有解决方案。在您将用户迁移到凭据管理器的过程中,这些令牌可用作备份;如果是数据层令牌共享,则可用作长期解决方案。

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

将用户的通行密钥作为 Wear OS 上的首选身份验证解决方案
图 1a:通行密钥
用户可以使用通行密钥、密码和“使用 Google 账号登录”功能进行身份验证
图 1b:通行密钥、密码和“使用 Google 账号登录”

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

Android XR

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

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

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

将 Credential Manager 用于 Android XR 时,需要满足以下要求:

  • 最低 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 上的登录体验可能如下所示:

XR 中的 Credential Manager 界面
图 2: XR 中的 Credential Manager 界面

XR 不支持的流程

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

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