使用数字凭证检索经过验证的电子邮件地址

本文档介绍了如何使用 Credential Manager 从用户的设备获取经过加密验证的电子邮件地址。此流程可让您的应用用户无需使用动态密码 (OTP) 或魔法链接来验证自己的电子邮件地址。

本文档介绍了以下方面:

本指南假定您熟悉以下概念:

Android 兼容性

搭载 Android 9(API 级别 28)及更高版本的手机、平板电脑和可折叠设备支持此功能。所需的 Google Play 服务 (GMS) 最低版本为 25.49.x。

用户体验

以下部分介绍了验证流程中的用户体验、纳入后备验证方法的必要性,以及各种使用情形下的推荐用户体验。

验证流程

分享已验证电子邮件地址的用户体验如下:

  1. 用户将焦点置于输入字段上,或点按调用 Credential Manager API 的按钮。您还可以根据屏幕的设计在应用加载屏幕时调用 API。

  2. 系统会显示一个底部动作条,其中包含将与应用分享的信息。如果相应设备上没有可分享的信息,用户会看到一条一般性错误消息。

  3. 在用户点按同意并继续后,显示成功或失败消息。

  4. (可选,建议)如果用户正在注册您的服务,您应提示用户创建通行密钥,以便用户日后更轻松地登录。

包括主要流程和回退流程

为确保提供顺畅的用户体验,请在需要进行电子邮件验证的界面上添加以下选项:

  1. 主要验证选项:电子邮件字段或按钮,用于触发 Credential Manager API 流程以进行快速验证。
  2. 替代验证选项:一个链接或按钮,供用户在出现故障(例如设备上没有可用信息,或者检索到的电子邮件与预期电子邮件不匹配)时选择“以其他方式验证”或使用“其他选项”手动输入电子邮件地址。这样一来,用户便可尝试使用其他凭据或通过提供手动动态密码进行验证。

用例

以下部分介绍了电子邮件验证的推荐用例以及建议的用户体验。

注册

用户可以使用已验证的电子邮件地址立即创建账号,而无需执行单独的验证步骤。(可选)提示用户添加通行密钥。如果用户选择添加通行密钥,请触发通行密钥创建流程。

在注册期间使用电子邮件验证,然后创建通行密钥
注册期间的电子邮件验证

账号恢复

为了避免用户在垃圾邮件文件夹中搜索恢复代码时遇到麻烦,请允许他们使用安全存储在设备上的已验证电子邮件地址恢复账号。此外,还建议他们创建通行密钥以供日后使用。

在账号恢复过程中使用电子邮件验证
账号恢复期间的电子邮件验证

针对敏感操作进行重新身份验证

通过要求用户执行快速重新身份验证步骤,保护敏感的用户操作,例如更改设置或更新个人资料详细信息。

在重新进行身份验证期间使用电子邮件验证
重新验证期间的电子邮件验证

支持的账号

通过 Credential Manager 进行的电子邮件验证仅支持验证消费者 Google 账号。不支持 Workspace 账号受监督的账号

您可以使用任何提供商的电子邮件地址(不一定是 @gmail.com)创建个人 Google 账号。不过,Google 会以不同的方式验证这些账号:

  • 对于 @gmail.com 账号:Google 是权威来源,并且电子邮件已知已通过验证。
  • 对于非 @gmail.com 账号:从长远来看,Google 不是这些电子邮件地址的权威来源。虽然 Google 会在创建账号时验证电子邮件地址,但该电子邮件地址的所有权可能会随时间推移而发生变化。因此,对于非 @gmail.com 地址,您应考虑添加额外的验证步骤(例如发送一次性密码),以确保用户仍有权访问该电子邮件账号。

如需详细了解验证的含义,请参阅数字凭证

与“使用 Google 账号登录”的比较

虽然数字凭据和使用 Google 账号登录解决方案都提供经过验证的电子邮件地址,但用户流程和应用场景有所不同:

  • 使用场景:Credential Manager 电子邮件验证流程并非仅用于注册或登录使用场景,而是可用于涉及检索已验证电子邮件的任何使用场景。这可能还包括账号恢复。
  • 注册:与“使用 Google 账号登录”不同,Credential Manager 流程不需要进行 Google 注册。
  • 平台支持:Credential Manager 流程仅适用于 Android。
  • 范围:与“使用 Google 账号登录”不同,后者可以使用 OAuth 2.0 请求访问用户数据(例如通过范围访问日历或云端硬盘),而数字凭据 API 仅用于检索经过验证的身份属性。它不能用于请求额外的授权范围

后续步骤

如需在应用中实现此功能,请参阅实施指南