Привязка аккаунта Google к App Flip на базе OAuth

Функция 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.

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

В этом разделе описаны требования и рекомендации по дизайну экрана согласия на привязку аккаунта 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 в свои приложения.

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

Чтобы добавить поддержку App Flip в ваше Android-приложение, следуйте инструкциям в руководстве по внедрению Android .

Чтобы добавить поддержку App Flip в ваше iOS-приложение, следуйте инструкциям в руководстве по внедрению iOS .

Тестовое приложение Flip

Моделирование App Flip может быть выполнено с использованием примеров и тестовых приложений до того, как станут доступны проверенные приложения для производственной среды и работающий сервер OAuth 2.0.

В процессе App Flip приложение Google сначала откроет ваше приложение, которое затем запросит у вашего сервера OAuth 2.0 ответ с кодом авторизации, а на заключительном этапе ответ будет возвращен приложению Google.

Предварительные требования

Чтобы имитировать работу приложения Google и запустить интент, который активирует ваше приложение, загрузите и установите инструмент App Flip Test Tool для Android и iOS .

Загрузите и установите демонстрационный пример App Flip Sample для Android и iOS , чтобы смоделировать работу вашего приложения, и выберите тип ответа OAuth 2.0.

Последовательность тестов

  1. Откройте инструмент App Flip Test Tool.
  2. Нажмите Try Flip! , чтобы запустить демонстрационное приложение App Flip.
  3. Выберите ответ с помощью переключателей в приложении Sample.
  4. Нажмите « Send , чтобы отправить в инструмент тестирования имитированный ответ OAuth 2.0.
  5. Проверьте сообщения журнала инструмента тестирования на наличие кода авторизации или подробной информации об ошибке.

Производственные испытания

Приложение App Flip можно протестировать в рабочей среде после завершения регистрации и реализации сервера OAuth 2.0.

Для автоматизированного тестирования рекомендуется использовать одну учетную запись Google и адрес электронной почты, предназначенный для выполнения конкретной задачи .

Состояние связанных учетных записей можно просмотреть в разделе «Связанные учетные записи» , войдя в систему под учетной записью Google. Отсюда же можно отвязать учетные записи между повторными проверками.

При желании вы можете использовать архитектуру RISC для программного удаления ссылки и уведомления Google об изменении.