Как настроить OAuth для приложения Android

Home API использует OAuth 2.0 для предоставления доступа к устройствам в структуре. OAuth позволяет пользователю предоставить разрешение приложению или сервису, не раскрывая свои учетные данные.

Если у вас уже есть проверенный клиент OAuth (например, из уже опубликованного приложения), вы можете использовать его для тестирования Home API, не настраивая новый. Подробнее о том, что делать, если у вас уже есть клиент OAuth…

Подпишите приложение

Сначала сгенерируйте сертификат для отладки, запустив приложение в Android Studio. При запуске или отладке приложения в Android Studio автоматически создается сертификат для отладки, предназначенный для разработки и отладки. Подробные инструкции вы найдете в статье Android Studio: подпись отладочной сборки.

После запуска приложения:

  1. Подключите мобильное устройство к локальному компьютеру. Android Studio покажет список подключенных устройств по номеру модели. Выберите устройство из списка и нажмите Run project (Запустить проект). Пример приложения будет собран и установлен на ваше мобильное устройство.

    Подробные инструкции вы найдете в статье Как запускать приложения на физических устройствах на сайте Android для разработчиков.

  2. Остановите запущенное приложение.

  3. Получите цифровой отпечаток SHA-1 сертификата для отладки, следуя инструкциям в статье Настройка OAuth 2.0 / Нативные приложения / Android в Справочном центре консоли Google Cloud.

  1. В консоли Google Cloud перейдите на панель выбора проекта и выберите проект, для которого хотите создать учетные данные OAuth.
  2. Перейдите на страницу APIs and Services (API и сервисы) и нажмите Credentials (Учетные данные) в меню навигации.
  3. Если вы ещё не настроили окно запроса доступа для этого проекта Google Cloud, появится кнопка Настроить окно запроса доступа. В этом случае настройте окно запроса доступа, следуя инструкциям ниже. В противном случае перейдите к следующему разделу.

    1. Нажмите Настроить окно запроса доступа. Откроется страница Окно запроса доступа OAuth.
    2. В зависимости от варианта использования выберите Внутреннее или Внешнее и нажмите Создать. Откроется панель Окно запроса доступа OAuth.
    3. Введите информацию на странице Информация о приложении, следуя инструкциям на экране, и нажмите Сохранить и продолжить. Откроется панель Области действия.
    4. Добавлять области действия не нужно, поэтому нажмите Сохранить и продолжить. Откроется панель Тестовые пользователи.
    5. Нажмите Аудитория, а затем – Добавить пользователей.
    6. Введите адрес электронной почты тестового пользователя и нажмите кнопку SAVE (Сохранить).
    7. Нажмите Сохранить и продолжить. Откроется панель Сводка.
    8. Проверьте информацию в окне запроса доступа OAuth и нажмите Вернуться на панель управления.

Подробные сведения приведены в статье Настройка окна запроса доступа OAuth в Справочном центре консоли Google Cloud.

Зарегистрируйте приложение и создайте учетные данные

Чтобы зарегистрировать приложение для OAuth 2.0 и создать учетные данные OAuth, следуйте инструкциям в статье Настройка OAuth 2.0. Вам нужно будет указать тип приложения – нативное приложение или приложение для Android.

Добавьте цифровой отпечаток SHA-1, полученный при подписании приложения, в клиент OAuth, настроенный в консоли Google Cloud. Для этого следуйте инструкциям в статье Настройка OAuth 2.0 / Нативные приложения в Справочном центре Google Cloud Console.

Подключите мобильное устройство к компьютеру, выберите его в списке и нажмите Run project (Запустить проект). Подробные инструкции вы найдете в статье Как запускать приложения на физических устройствах на сайте Android для разработчиков.

Если у вас есть клиент OAuth

Если у вас уже есть подтвержденный клиент OAuth для опубликованного приложения, вы можете использовать его для тестирования Home API.

Для тестирования и использования Home API регистрироваться в Google Home Developer Console не нужно. Однако для публикации приложения вам все равно потребуется одобренная регистрация Developer Console, даже если у вас есть подтвержденный клиент OAuth из другой интеграции.

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

  • При использовании существующего клиента OAuth действует ограничение в 100 пользователей. Информацию о том, как добавить тестовых пользователей, можно найти в разделеНастройте окно запроса доступа OAuth. Независимо от проверки OAuth, Home API накладывает ограничение на количество пользователей, которые могут предоставлять разрешения вашему приложению. Их должно быть не более 100. Это ограничение будет снято после завершения регистрации в Developer Console.

  • Developer Console регистрации следует отправить на одобрение, когда вы будете готовы ограничить разрешения для типов устройств с помощью OAuth, чтобы подготовиться к обновлению приложения с помощью Home API.

Для Google Cloud приложений, которые ещё не прошли проверку OAuth, пользователи не смогут завершить процесс OAuth, пока проверка не будет завершена. Если вы попытаетесь это сделать, появится следующее сообщение об ошибке:

Access blocked: <Project Name> has not completed the Google verification process.