Обзор

基于 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 .

Руководство по проектированию

В этом разделе описаны требования и рекомендации по дизайну экрана согласия на привязку аккаунта App Flip. После того, как Google вызывает ваше приложение, оно отображает пользователю экран согласия.

Требования

  1. Вы должны сообщить, что учетная запись пользователя привязывается к Google, а не к конкретному продукту Google, например Google Home или Google Assistant.

Рекомендации

Мы рекомендуем вам сделать следующее:

  1. Отобразите Политику конфиденциальности Google. Добавьте ссылку на Политику конфиденциальности Google на экран согласия.

  2. Данные для обмена. Чётко и ясно объясните пользователю, какие данные Google требует от него и почему.

  3. Чёткий призыв к действию. Разместите чёткий призыв к действию на экране согласия, например, «Согласиться и подключиться». Это необходимо, поскольку пользователям необходимо понимать, какие данные им необходимо предоставить Google для подключения своих аккаунтов.

  4. Возможность отклонить или отменить. Предоставьте пользователям возможность вернуться назад, отклонить или отменить подписку, если они решили не использовать ссылку.

  5. Возможность отмены привязки. Предложите пользователям механизм отмены привязки, например, URL-адрес для доступа к настройкам их учётной записи на вашей платформе. Кроме того, вы можете добавить ссылку на учётную запись Google , где пользователи смогут управлять своей привязанной учётной записью.

  6. Возможность смены учётной записи пользователя. Предложите пользователям способ переключения учётных записей. Это особенно полезно, если пользователи часто используют несколько учётных записей.

    • Если пользователю необходимо закрыть экран согласия для переключения учетных записей, отправьте в Google устранимую ошибку, чтобы пользователь мог войти в нужную учетную запись с помощью привязки OAuth и неявного потока.
  7. Добавьте свой логотип. Разместите логотип вашей компании на экране согласия. Разместите логотип в соответствии с вашими рекомендациями по стилю. Если вы также хотите разместить логотип Google, см. раздел «Логотипы и товарные знаки» .

На этом рисунке показан пример экрана согласия с выдержками из отдельных требований и рекомендаций, которые необходимо соблюдать при разработке экрана согласия пользователя.
Рисунок 2. Рекомендации по дизайну экрана согласия на привязку учетной записи.

Настройка App Flip на основе OAuth

В следующих разделах описаны необходимые условия для App Flip на основе OAuth и порядок настройки проекта App Flip в консоли действий.

Создайте действие и настройте сервер OAuth 2.0.

Прежде чем вы сможете настроить App Flip, вам необходимо сделать следующее:

Настройте App Flip в консоли действий.

В следующем разделе описывается, как настроить App Flip в консоли действий .

  1. Нажмите «Разработать» в верхней части навигации. Затем нажмите «Привязка учетной записи» на левой панели навигации.
  2. Включите переключатель рядом с пунктом «Привязка учетной записи».
  3. В разделе «Создание учетной записи» выберите «Нет, я хочу разрешить создание учетной записи только на своем веб-сайте» .
  4. Нажмите Далее .
  5. В разделе «Тип связи» выберите «OAuth» и «Код авторизации» в раскрывающихся меню.
  6. Нажмите Далее .
  7. Заполните все поля в разделе «Информация о клиенте OAuth» . (Если App Flip не поддерживается, в качестве запасного варианта используется обычный OAuth.)
  8. Нажмите Далее .
  9. В разделе «Использовать приложение для привязки учетной записи (необязательно)» установите флажок «Включить для iOS» .
  10. Заполните поле «Универсальная ссылка» . Дополнительную информацию об универсальных ссылках см. в разделе «Разрешение приложениям и веб-сайтам ссылаться на ваш контент» .
  11. Если вы хотите дополнительно настроить свой клиент, добавьте области и нажмите «Добавить область» в разделе «Настроить клиент» (необязательно). Если нет, нажмите «Далее».
  12. В разделе «Инструкции по тестированию» введите test (или любую другую строку) в качестве заполнителя. (Заполнение этого поля с использованием тестовой учетной записи необходимо только в том случае, если вы действительно отправляете свое действие на публикацию.)
  13. Нажмите Сохранить .

Теперь вы можете перейти к следующему разделу, чтобы реализовать App Flip в своем приложении для iOS или Android.

Внедрите App Flip в свои собственные приложения.

Чтобы реализовать App Flip, вам необходимо изменить код авторизации пользователя в вашем приложении, чтобы он принимал глубокую ссылку от Google.

Проверьте приложение Flip на своем устройстве

Теперь, когда вы создали действие и настроили App Flip на консоли и в своем приложении, вы можете протестировать App Flip на своем мобильном устройстве. Вы можете использовать приложение Google Assistant для тестирования App Flip.

Чтобы протестировать App Flip из приложения Assistant, выполните следующие действия:

  1. Перейдите в консоль действий и выберите свой проект.
  2. Нажмите «Тест» в верхней части навигации.
  3. Запустите процесс привязки учетной записи из приложения Assistant:
    1. Откройте приложение Google Ассистент .
    2. Нажмите «Настройки» .
    3. На вкладке «Ассистент» нажмите «Управление домом».
    4. Нажмите «Добавить» (+) .
    5. Выберите действие из списка поставщиков. В списке он будет иметь префикс «[test]». Когда вы выбираете [тестовое] действие из списка, оно должно открыть ваше приложение.
    6. Убедитесь, что ваше приложение было запущено, и начните тестирование процесса авторизации.