Обзор

Функция App Flip Linking (App Flip) на основе OAuth позволяет пользователям быстро связать свои учетные записи в вашей системе аутентификации со своими учетными записями Google. Если ваше приложение установлено на телефоне пользователя в момент начала процесса привязки учетной записи, он автоматически переключается на ваше приложение для получения авторизации.

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

Вы можете настроить App Flip как для приложений iOS, так и для Android.

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

Требования

Для внедрения App Flip необходимо выполнить следующие требования:

  • Для работы приложения необходимо установить приложение для Android или iOS.
  • Вы должны владеть, управлять и обслуживать сервер OAuth 2.0, поддерживающий поток авторизационного кода OAuth 2.0.

App Flip Flow на основе OAuth

На следующей диаграмме подробно описано взаимодействие между пользователем, приложением 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-аутентификации через браузер.

Роли и обязанности

В таблице ниже определены роли и обязанности участников процесса переосмысления приложения.

Актер / Компонент Роль 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. Убедитесь, что ваше приложение было запущено, и начните тестирование процесса авторизации.