Привязка аккаунта 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.

Design guidelines

This section describes the design requirements and recommendations for the App Flip account linking consent screen. After Google calls your app, your app displays the consent screen to the user.

Requirements

  1. You must communicate that the user’s account is being linked to Google, not to a specific Google product, such as Google Home or Google Assistant.

Recommendations

We recommend that you do the following:

  1. Display Google's Privacy Policy. Include a link to Google’s Privacy Policy on the consent screen.

  2. Data to be shared. Use clear and concise language to tell the user what data of theirs Google requires and why.

  3. Clear call-to-action. State a clear call-to-action on your consent screen, such as “Agree and link.” This is because users need to understand what data they're required to share with Google to link their accounts.

  4. Ability to deny or cancel. Provide a way for users to go back, deny, or cancel, if they choose not to link.

  5. Ability to unlink. Offer a mechanism for users to unlink, such as a URL to their account settings on your platform. Alternatively, you can include a link to Google Account where users can manage their linked account.

  6. Ability to change user account. Suggest a method for users to switch their account(s). This is especially beneficial if users tend to have multiple accounts.

    • If a user must close the consent screen to switch accounts, send a recoverable error to Google so the user can sign in to the desired account with OAuth linking and the implicit flow.
  7. Include your logo. Display your company logo on the consent screen. Use your style guidelines to place your logo. If you wish to also display Google's logo, see Logos and trademarks.

This figure shows an example consent screen with call-outs to the
            individual requirements and recommendations to be followed when
            you design a user consent screen.
Figure 2. Account linking consent screen design guidelines.

Внедрите функцию 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 об изменении.