本文档介绍了如何使用 Credential Manager 从用户的设备获取经过加密验证的电子邮件地址。此流程可让您的应用用户无需使用动态密码 (OTP) 或魔法链接来验证自己的电子邮件地址。
本文档介绍了以下方面:
- Android 兼容性
- 用户体验
- 支持的账号
- 电子邮件送达率的影响
- 与使用 Google 账号登录的比较
本指南假定您熟悉以下概念:
Android 兼容性
搭载 Android 9(API 级别 28)及更高版本的手机、平板电脑和可折叠设备支持此功能。所需的 Google Play 服务 (GMS) 最低版本为 25.49.x。
用户体验
以下部分介绍了验证流程中的用户体验、纳入后备验证方法的必要性,以及各种使用情形下的推荐用户体验。
验证流程
分享已验证电子邮件地址的用户体验如下:
用户将焦点置于输入字段上,或点按调用 Credential Manager API 的按钮。您还可以根据屏幕的设计在应用加载屏幕时调用 API。
系统会显示一个底部动作条,其中包含将与应用分享的信息。如果相应设备上没有可分享的信息,用户会看到一条一般性错误消息。
在用户点按同意并继续后,显示成功或失败消息。
包括主要流程和回退流程
为确保提供顺畅的用户体验,请在需要进行电子邮件验证的界面上添加以下选项:
- 主要验证选项:电子邮件字段或按钮,用于触发 Credential Manager API 流程以进行快速验证。
- 替代验证选项:一个链接或按钮,供用户在出现故障(例如设备上没有可用信息,或者检索到的电子邮件与预期电子邮件不匹配)时选择“以其他方式验证”或使用“其他选项”手动输入电子邮件地址。这样一来,用户便可尝试使用其他凭据或通过提供手动动态密码进行验证。
用例
以下部分介绍了电子邮件验证的推荐用例以及建议的用户体验。
注册
用户可以使用已验证的电子邮件地址立即创建账号,而无需执行单独的验证步骤。(可选)提示用户添加通行密钥。如果用户选择添加通行密钥,请触发通行密钥创建流程。
账号恢复
为了避免用户在垃圾邮件文件夹中搜索恢复代码时遇到麻烦,请允许他们使用安全存储在设备上的已验证电子邮件地址恢复账号。此外,还建议他们创建通行密钥以供日后使用。
针对敏感操作进行重新身份验证
通过要求用户执行快速重新身份验证步骤,保护敏感的用户操作,例如更改设置或更新个人资料详细信息。
支持的账号
通过 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 仅用于检索经过验证的身份属性。它不能用于请求额外的授权范围。
后续步骤
如需在应用中实现此功能,请参阅实施指南。