Поскольку процесс авторизации — это первое взаимодействие пользователя с вашим дополнением, важно, чтобы он мог пройти его максимально плавно. Ознакомьтесь с разделами ниже, чтобы изучить различные API для авторизации, параметры запросов, связанные с авторизацией, способы обработки блокировщиков всплывающих окон и план тестирования, который можно использовать во время разработки для обеспечения соответствия передовым практикам.
Детали реализации SSO
Google's OAuth 2.0 is compatible with many OAuth 2.0 stacks. We strongly recommend implementing server-side authorization as it's the highest security option and supports using the iframe query parameters .
При внедрении входа через Google обратитесь к техническим рекомендациям, представленным на веб-сайте Google Identity . Обязательно соблюдайте рекомендации по фирменному стилю для входа через Google. Для скачивания доступны файлы Sketch, SVG и EPS.
Тесты входа в систему
Используйте план тестирования дополнений, чтобы убедиться, что ваше дополнение соответствует требуемым стандартам и способно обрабатывать известные граничные случаи, прежде чем отправлять его на проверку. Эти тесты во многом повторяют контрольный список требований к дополнениям для Classroom и содержат пошаговые инструкции по проверке соответствия вашего дополнения этим требованиям. Это те же самые тесты, по которым проверяется ваше приложение во время публикации.
Параметры запроса для входа в систему
Google Classroom предоставляет параметр запроса login_hint для упрощения повторного входа в систему. Дополнительную информацию см. в разделе параметров запроса iframe, связанных со входом в систему. Пример кода можно найти в пошаговом руководстве по обработке повторных посещений в наших руководствах для разработчиков.
Управление блокировщиками всплывающих окон
Вход в дополнение осуществляется через диалоговое окно авторизации. В этом окне отображается экран выбора учетной записи, и пользователь может предоставить разрешения OAuth. Блокировщик всплывающих окон может помешать пользователю завершить процесс входа в систему.

Рисунок 1. Пример экрана выбора учетной записи .
Для решения этой проблемы предоставьте пользователю кнопку, которая позволит обойти блокировку всплывающих окон. Это действие позволит отобразить диалоговое окно входа в систему, чтобы пользователь мог продолжить процесс авторизации. Убедитесь, что предоставленная вами кнопка соответствует рекомендациям по фирменному стилю для входа в систему .
Следуйте пошаговым инструкциям по входу в систему в наших руководствах для разработчиков, чтобы реализовать кнопку входа в систему с логотипом Google, нажатие на которую вызовет диалоговое окно входа.
Многопользовательский вход
Использование браузера с одновременной авторизацией нескольких учетных записей может нарушить работу надстройки. Пользователи могут либо выйти из всех учетных записей Google в текущем браузере , либо открыть Classroom в режиме инкогнито в окне Chrome, прежде чем войти в систему с правильной учетной записью и повторить операцию.
Если из-за проблемы с множественным входом в систему в дополнение вошла не та учетная запись, ваши вызовы к API дополнений Classroom могут завершиться ошибкой InvalidAddOnToken . В этом случае следует посоветовать пользователю либо выйти из всех других учетных записей в браузере, либо открыть Classroom в режиме инкогнито в окне Chrome.