借助基于 OAuth 的应用快速关联 (App Flip),您的用户可以轻松快速地将其在您的身份验证系统中的账号与其 Google 账号相关联。如果用户在发起账号关联流程时您的应用已安装在其手机上,系统会将用户顺畅地转到您的应用以获取用户授权。
这种方法可简化关联流程,因为用户无需重新输入用户名和密码即可进行身份验证;相反,App Flip 会利用用户在您应用中的账号凭据。用户将其 Google 账号与您的应用相关联后,便可使用您开发的任何集成。
您可以为 iOS 和 Android 应用设置应用快速关联。
![此图展示了用户将其 Google 账号与您的身份验证系统相关联的步骤。第一个屏幕截图显示了如果用户的 Google 账号已与您的应用相关联,他们可以如何选择您的应用。第二个屏幕截图显示了确认将 Google 账号与您的应用相关联的操作。第三个屏幕截图显示了 Google 应用中已成功关联的用户账号。](https://developers.google.cn/static/identity/images/app-flip-flow.png?hl=ro)
要求
如需实现应用翻转,您必须满足以下要求:
- 您必须拥有 Android 或 iOS 应用。
- 您必须拥有、管理和维护一个支持 OAuth 2.0 授权代码流程的 OAuth 2.0 服务器。
设计准则
本部分介绍了 App Flip 账号关联意见征求界面的设计要求和建议。Google 调用您的应用后,应用会向用户显示同意屏幕。
要求
- 您必须说明用户的账号将与 Google 相关联,而不是与特定 Google 产品(例如 Google Home 或 Google 助理)相关联。
建议
建议您执行以下操作:
显示 Google 的隐私权政策。在同意屏幕上添加指向 Google 隐私权政策的链接。
要分享的数据。使用简洁明了的语言告知用户 Google 需要哪些数据以及为何需要这些数据。
明确的号召性用语。在用户同意页面上提供明确的号召性用语,例如“同意并关联”。这是因为用户需要了解他们需要与 Google 分享哪些数据才能关联账号。
能够取消。为用户提供返回或取消链接的途径,如果用户选择不进行关联。
能够解除关联。提供一种供用户解除关联的机制,例如指向他们在您的平台上账号设置的网址。或者,您也可以添加指向 Google 账号的链接,以便用户管理其关联的账号。
能够更改用户账号。建议用户切换账号的方法。如果用户通常拥有多个账号,这种做法尤为有益。
- 如果用户必须关闭意见征求界面才能切换账号,请向 Google 发送可恢复的错误,以便用户可以使用 OAuth 关联和隐式流程登录所需的账号。
添加您的徽标。在同意屏幕上显示您的公司徽标。 按照您的样式准则放置徽标。如果您还想显示 Google 的徽标,请参阅徽标和商标。
![此图显示了同意页面的示例,其中突出显示了设计用户意见征求页面时应遵循的具体要求和建议。](https://developers.google.cn/static/identity/images/app-flip-guidance.png?hl=ro)
在原生应用中实现应用快速关联
如需实现 App Flip,您需要修改应用中的用户授权代码,以接受来自 Google 的深层链接。
如需在 Android 应用中支持应用快速关联,请按照 Android 实现指南中的说明操作。
如需在 iOS 应用中支持应用快速关联,请按照 iOS 实现指南中的说明操作。
测试 App Flip
在有经过验证的正式版应用和可用的 OAuth 2.0 服务器之前,您可以使用示例应用和测试应用来模拟应用切换。
在 App Flip 期间,Google 应用会先打开您的应用,然后该应用会请求从您的 OAuth 2.0 服务器获取授权代码响应,最后将响应返回给 Google 应用。
前提条件
如需模拟 Google 应用并触发用于启动应用的 intent,请下载并安装适用于 Android 和 iOS 的应用快速关联测试工具。
下载并安装适用于 Android 和 iOS 的应用翻转示例,以模拟您的应用并选择 OAuth 2.0 响应类型。
测试序列
- 打开应用快速关联测试工具。
- 按
Try Flip!
即可启动你的 App Flip 示例应用。 - 从“示例”应用中的单选按钮中选择一个回复。
- 按
Send
将模拟的 OAuth 2.0 响应返回给测试工具。 - 请查看测试工具日志消息,了解 auth_code 或错误详情。
生产环境测试
完成注册和完成 OAuth 2.0 服务器实现后,系统可能会在生产环境中测试应用快速关联。
建议您为自动化测试使用一个 Google 账号和一个专门用于任务的电子邮件地址。
登录 Google 账号并以账号持有人的身份登录后,您可以使用关联的账号查看账号关联状态。您还可以在此处解除重复测试之间的账号关联。
(可选)您可以选择实现 RISC,以程序化方式解除关联并通知 Google 发生的更改。