概览

基于 OAuth 的应用快速关联 (App Flip) 关联功能可让用户快速将其在您的身份验证系统中的账号关联到其 Google 账号。 如果用户在发起账户关联过程时手机上已安装您的应用,系统会顺畅地将他们转到您的应用以获取用户授权。

这种方法可提供更快的账户关联过程,因为用户无需重新输入用户名和密码进行身份验证;相反,App Flip 会利用用户在您的应用中的账号凭据。用户将其 Google 账号与您的应用关联后,便可利用您开发的任何集成。

您可以为 iOS 和 Android 应用设置 App Flip。

此图显示了用户将其 Google 账号与您的身份验证系统相关联的步骤。第一张屏幕截图显示了用户如何选择您的应用(如果其 Google 账号已与您的应用相关联)。第二张屏幕截图显示了用户将其 Google 账号与您的应用相关联的确认信息。第三张屏幕截图显示了 Google 应用中已成功关联的用户账号。
图 1.用户手机上使用 App Flip 进行账号关联。

要求

如需实现 App Flip,您必须满足以下要求:

  • 您必须拥有 Android 或 iOS 应用。
  • 您必须拥有、管理和维护支持 OAuth 2.0 授权代码流程的 OAuth 2.0 服务器。

基于 OAuth 的 App Flip 流程

以下序列图详细说明了用户、Google 应用、您的应用和您的授权服务器之间针对 App Flip 的交互。

用户 Google 应用 您的应用 Google 服务器 您的授权 服务器 1. 发起关联 2. 深层链接到您的应用 3. 显示意见征求屏幕 4. 用户授予意见征求 5. 获取授权代码 6. authorization_code 7. 返回到 Google 应用 8. 将代码传递给 Google 服务器 9. 令牌交换 (POST) 10. access_token, refresh_token 11. 存储用户令牌 12. 访问用户资源
图 2.App Flip 流程中的事件序列。 如果提供了授权代码,则令牌交换将以 服务器到服务器的方式进行,与基于浏览器的 OAuth 关联流程中的方式相同。

角色和职责

下表定义了 App Flip 流程中执行者的角色和职责。

执行者 / 组件 GAL 角色 职责
Google 应用 / 服务器 OAuth 客户端 发起账户关联过程,触发到您的移动应用深层链接,将授权代码交换为令牌,并安全地存储这些令牌以访问您服务的 API。
您的应用 授权代理 对用户进行身份验证(通常使用现有应用凭据), 获取意见征求,并从您的服务器检索授权代码。
您的授权服务器 授权服务器 验证授权代码和刷新令牌,并向 Google 服务器颁发访问 令牌。

如需详细了解 OAuth 关联授权代码流程,请参阅实现 OAuth 服务器

设计准则

本部分介绍了应用翻转账号关联同意屏幕的设计要求和建议。在 Google 调用您的应用后,您的应用会向用户显示同意屏幕。

要求

  1. 您必须告知用户,其账号将与 Google 关联,而非与 Google Home 或 Google 助理等特定 Google 产品关联。

建议

建议您执行以下操作:

  1. 显示 Google 的隐私权政策。在意见征求屏幕上添加指向 Google 隐私权政策的链接。

  2. 要分享的数据。使用简洁明了的语言告知用户 Google 需要哪些用户数据以及原因。

  3. 明确的号召性用语。在同意屏幕上提供清晰的号召性用语,例如“同意并关联”。这是因为用户需要了解他们必须与 Google 分享哪些数据才能关联其账号。

  4. 能够拒绝或取消。如果用户选择不关联,请提供一种供用户返回、拒绝或取消的方式。

  5. 能够解除关联。提供一种可供用户取消关联的机制,例如指向您平台上的账号设置的网址。或者,您也可以添加指向 Google 账号的链接,以便用户管理其关联的账号。

  6. 能够更改用户账号。建议用户切换账号的方法。如果用户倾向于使用多个账号,此功能尤其有用。

    • 如果用户必须关闭同意屏幕才能切换账号,请向 Google 发送可恢复的错误,以便用户可以通过 OAuth 关联隐式流程登录所需账号。
  7. 添加您的徽标。在权限请求页面上显示公司徽标。 根据样式指南放置徽标。如果您还想显示 Google 的徽标,请参阅徽标和商标

此图显示了一个同意屏幕示例,其中包含在设计用户同意屏幕时应遵循的各项要求和建议。
图 2. 账号关联意见征求界面设计指南。

基于 OAuth 的应用快速关联的设置

以下部分描述了基于 OAuth 的应用快速关联的前提条件,以及如何在 Actions 控制台中配置应用快速关联项目。

创建 Action 并设置 OAuth 2.0 服务器

如需配置应用快速关联,你需要先执行以下操作:

  • 创建 Action。如需创建 Action,请按照创建项目部分中的说明进行操作。
  • 设置 OAuth 2.0 服务器。如需详细了解如何设置 OAuth 服务器,请参阅实现 OAuth 账号关联

在 Actions 控制台中配置应用快速关联

以下部分介绍了如何在 Actions 控制台中配置应用快速关联。

  1. 点击顶部导航栏中的 Develop。然后,点击左侧导航栏中的 Account linking
  2. 账号关联旁边的开关切换为开启状态。
  3. 账号创建下,选择否,我只想允许在我的网站上创建账号
  4. 点击下一步
  5. 关联类型下,从下拉菜单中选择 OAuth授权代码
  6. 点击 Next
  7. 填写 OAuth Client information 下的所有字段。 (如果不支持应用快速关联,则会使用常规 OAuth 作为后备选项。)
  8. 点击下一步
  9. Use your app for account linking (optional) 下,选中 Enable for iOS
  10. 填写 Universal Link 字段。如需详细了解通用链接,请参阅允许应用和网站链接到您的内容
  11. 如果您想选择配置客户端,请添加范围,然后点击 Configure your client (optional) 下的 Add scope。 如果没有,请点击下一步
  12. 在“测试说明”下,输入 test(或任何其他字符串)作为占位符。(只有在您实际提交操作以供发布时,才需要使用测试账号填写此字段。)
  13. 点击保存

现在,你可以继续阅读下一部分,了解如何在 iOS 或 Android 应用中实现应用快速关联功能。

在原生应用中实现应用快速关联

如需实现应用快速关联功能,你需要修改应用中的用户授权代码,以接受来自 Google 的深层链接。

在设备上测试应用快速关联

现在,你已在控制台和应用中创建了一个 Action 并配置了应用快速关联,接下来可以在移动设备上测试应用快速关联。您可以使用 Google 助理应用测试 App Flip。

如需从 Google 助理应用测试应用快速关联,请按以下步骤操作:

  1. 转到 Actions 控制台,然后选择你的项目。
  2. 点击顶部导航栏中的 Test
  3. 在 Google 助理应用中触发账号关联流程:
    1. 打开 Google 助理应用
    2. 点击设置
    3. 在“Google 助理”标签页上,点击家居控制
    4. 点击“添加”(+)
    5. 从提供商列表中选择你的 Action。它在列表中以“[test]”为前缀。从列表中选择 [test] Action 后,就应该会打开你的应用。
    6. 验证你的应用是否已启动并开始测试授权流程。