Аутентификация для всех форм-факторов

Менеджер учетных данных упрощает аутентификацию во всей экосистеме Android. Он обеспечивает единообразный пользовательский опыт и унифицированный API-интерфейс для разработчиков, позволяющий использовать ключи доступа, пароли и механизмы федеративного входа, такие как «Вход через Google». Хотя основной программный интерфейс остается неизменным для всех форм-факторов, каждый форм-фактор имеет свои уникальные особенности пользовательского интерфейса и взаимодействия. Успешная реализация требует адаптации потоков аутентификации вашего приложения к конкретным методам ввода, размерам экрана и контексту пользователя каждого устройства.

В этом руководстве представлен обзор того, как внедрить Credential Manager на различных форм-факторах Android, с выделением ключевых моментов и ссылками на более подробную документацию.

Мобильные устройства

Мобильные устройства, включая телефоны, планшеты и складные устройства, являются наиболее распространенной целевой платформой для разработки под Android. Стандартная реализация Credential Manager хорошо подходит для этих устройств, которые обычно оснащены сенсорными экранами и встроенными клавиатурами. Пользовательский опыт на этом форм-факторе служит отправной точкой для адаптации к другим устройствам. Процессы аутентификации должны соответствовать форм-фактору и использовать все возможности экранного пространства устройства и методов ввода.

Wear OS

Устройства Wear OS отличаются небольшими экранами и ограниченным вводом данных непосредственно на устройстве. Реализация ключей доступа в Credential Manager обеспечивает безопасную среду для входа пользователей в приложения без необходимости подключения сопряженного телефона и без необходимости запоминать пароль.

API для Wear OS идентичен мобильному, поэтому вы можете повторно использовать существующую мобильную интеграцию. В дополнение к паролям, входу через Google и паролям с помощью Credential Manager, вы можете использовать другие методы аутентификации, включая Data Layer Token Sharing, OAuth или ваши существующие решения. Их можно использовать в качестве резервных вариантов во время перехода пользователей на Credential Manager, или, в случае Data Layer Token Sharing, в качестве долгосрочного решения.

Для использования Credential Manager для Wear OS необходимо выполнить следующие действия:

  • Минимальный уровень API: minSdkVersion 33 или выше.
    • Включает поддержку паролей, ключей доступа и входа через Google.
  • Версия GMS: та же, что и для мобильных приложений.

Пользовательский интерфейс на устройствах Wear OS выглядит следующим образом:

На Wear OS в качестве предпочтительного метода аутентификации отображается экран входа в систему с помощью пароля.
Рисунок 1а. Кодовые ключи.
На Wear OS пользователю доступны пароли, ключи доступа и возможность входа через Google.
Рисунок 1b. Пароли, кодовые замки и вход через Google.

Подробные инструкции по реализации и примеры кода см. в следующих ресурсах:

Ограничения

Использование диспетчера учетных данных на Wear OS имеет следующие ограничения:

Android XR

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

Адаптация Credential Manager для XR означает переосмысление пользовательского интерфейса аутентификации (будь то с помощью паролей, кодовых ключей или федеративных методов входа) для трехмерного пространства. Например, запросы на аутентификацию отображаются во плавающих панелях, а пользователи делают выбор с помощью жестов рук. Также необходимо учитывать любые специфические аппаратные или программные требования для целевых XR-устройств.

Ключевой задачей проектирования является создание интуитивно понятного и безопасного процесса аутентификации в среде виртуальной или дополненной реальности. Также необходимо учитывать, как управлять идентификацией в многопользовательских сценариях XR, когда разные люди могут использовать одно и то же устройство.

Для использования Credential Manager для Android XR необходимо выполнить следующие действия:

  • Минимальный уровень API: minSdkVersion 34 или выше.
  • Версия GMS: та же, что и для мобильных приложений.
  • Эмулятор:
    • Минимальный образ системы эмулятора:
      • macOS: Google Play XR ARM 64 v8a System Image Revision 7
      • Windows: Google Play XR Intel x86_64 Atom System Image Revision 7
    • Версии эмулятора выше 35.6.11 Stable

Процесс авторизации в XR может выглядеть следующим образом:

В Android XR запрос на вход в систему через диспетчер учетных данных отображается в плавающей 3D-панели.
Рисунок 2. Пользовательский интерфейс диспетчера учетных данных в XR.

Потоки, не поддерживаемые XR

Менеджер учетных данных в Android XR не поддерживает сценарии аутентификации, требующие сканирования QR-кода другим устройством. Это можно наблюдать во время входа в систему на XR-гарнитурах и при тестировании с помощью эмулятора.

Чтобы узнать больше об XR, см. Android XR .

Android TV

Устройства Android TV обычно используются совместно, на них смотрят издалека, а управление осуществляется с помощью кнопок D-pad. Ввод имен пользователей и паролей в такой среде может быть затруднительным для пользователей. Credential Manager упрощает аутентификацию на Android TV, поддерживая вход через Google, сохраненные пароли и ключи доступа для разных устройств.

В окне входа в Credential Manager на Android TV отображается запрос на ввод сохраненных учетных записей для входа через Google и паролей, а также возможность использования пароля.
Рисунок 3. Пользовательский интерфейс диспетчера учетных данных на Android TV, отображающий параметры «Вход через Google», «Сохраненные пароли» и «Ключи доступа».

Поскольку телевизоры являются устройствами общего пользования и не имеют встроенного механизма аутентификации по блокировке экрана (LSKF), пароли не создаются и не хранятся непосредственно на телевизоре. Вместо этого аутентификация с помощью пароля использует гибридный процесс, охватывающий несколько устройств: телевизор отображает QR-код, который пользователь сканирует своим мобильным устройством для завершения биометрической аутентификации.

Для использования Credential Manager на Android TV необходимо выполнить следующие действия:

  • Минимальный уровень API: Android 14 (уровень API 34, minSdkVersion 34) или выше.
  • Версия GMS: 2026W30 или выше.
  • Аппаратное обеспечение для кодовых ключей: Для сканирования QR-кода и завершения гибридной процедуры FIDO требуется дополнительное мобильное устройство с камерой и Bluetooth.

Ограничения

Поскольку Android TV — это устройство, используемое совместно, применение Credential Manager на этой платформе имеет следующие преднамеренные ограничения для защиты конфиденциальности и безопасности пользователей:

  • Создание и хранение локальных паролей невозможно: Пароли нельзя создать или сохранить непосредственно на телевизоре. Поскольку локальные учетные данные не поддерживаются, не устанавливайте параметр preferImmediatelyAvailableCredentials в true в ваших запросах; это отфильтрует пароли, передаваемые между устройствами, и не вернет учетные данные.
  • Отсутствие сторонних поставщиков учетных данных: Android TV не поддерживает автозаполнение, поэтому сторонние менеджеры паролей недоступны на этой платформе. Пользователям необходимо использовать Google Password Manager.
  • Функция восстановления учетных данных недоступна: автоматический вход в новые устройства с помощью функции «О восстановлении учетных данных» не поддерживается на Android TV.

Чтобы узнать больше о разработке приложений для телевизоров, ознакомьтесь с обзором Android TV .

Android Automotive OS

Устройства на базе Android Automotive OS (AAOS) представляют собой системы общего пользования, интегрированные в транспортные средства. Адаптация Credential Manager для AAOS требует поддержки безопасной аутентификации (обычно во время стоянки автомобиля) и возможности использования нескольких пользовательских профилей на одном устройстве.

Если вы адаптируете для автомобилей приложение, оптимизированное для больших экранов или планшетов, и ваше приложение уже поддерживает Credential Manager и пароли на мобильных устройствах или планшетах, оно будет работать на Android Automotive OS без необходимости внесения изменений в ваши процессы аутентификации.

В операционной системе Android Automotive OS поддерживаются следующие методы аутентификации:

  • Кодовые ключи (гибридный поток аутентификации между устройствами): Пользователи могут аутентифицироваться с помощью существующих кодовых ключей в рамках межустройственного потока аутентификации. Система отображает QR-код на экране автомобиля, который пользователь сканирует своим мобильным устройством. Поскольку биометрическая и экранная блокировка выполняются на телефоне пользователя, пользователям не нужно настраивать блокировку экрана на дисплее автомобиля.
  • Вход через Google: Отображает стандартный экран входа через Google непосредственно на дисплее автомобиля.
  • Сохраненные пароли: Пользователи могут восстанавливать сохраненные пароли из Google Password Manager для входа в систему без ручного ввода учетных данных на экране автомобиля.
В операционной системе Android Automotive на экране автомобиля отображается запрос на ввод пароля диспетчера учетных данных.
Рисунок 5. Запрос пароля диспетчера учетных данных в Android Automotive OS.

Операционная система Android Automotive управляет сессиями и учетными данными для каждого профиля, изолируя данные сессий, специфичные для каждого пользователя, между профилями (например, Профиль A, Профиль B или гостевой профиль).

Для использования диспетчера учетных данных в операционной системе Android Automotive требуются следующие компоненты:

  • Минимальный уровень API: Android 9 (уровень API 28, minSdkVersion 28) или выше. Для получения пароля между устройствами требуется Android 14 (уровень API 34) или выше.
  • Версия GMS: та же, что и для мобильных приложений.

Ограничения тестирования

Для проверки паролей требуется физическое устройство с установленной сборкой Android Automotive OS в качестве основного интерфейса. Инструкции по настройке см. в разделе «Тестирование с использованием Android Automotive OS на планшете Pixel» . Эмуляторы нельзя использовать для проверки паролей, поскольку они не поддерживают Bluetooth Low Energy (BLE), необходимый для гибридного потока FIDO.

Ограничения и неподдерживаемые потоки

Использование диспетчера учетных данных в операционной системе Android Automotive имеет следующие ограничения:

  • Отсутствие возможности локального хранения или извлечения паролей: Прямое локальное извлечение паролей не поддерживается, поскольку транспортные средства являются устройствами общего пользования. Синхронизация паролей непосредственно с транспортным средством представляет собой угрозу безопасности, поэтому пароли должны использоваться в рамках межсистемного гибридного процесса.
  • Неподдерживаемые учетные данные, доступные немедленно: если ваше приложение запрашивает пароль и устанавливает preferImmediatelyAvailableCredentials в true , пользовательский интерфейс Automotive немедленно завершает работу и генерирует исключение NoCredentialException . Предоставьте соответствующий резервный вариант пользовательского интерфейса для этого сценария.
  • Поддержка сторонних поставщиков учетных данных: сторонние менеджеры паролей не поддерживаются в Android Automotive OS. Пользователям необходимо использовать Google Password Manager или гибридные сценарии аутентификации на разных устройствах.
  • Создание сохраненных паролей невозможно: API не поддерживает создание и сохранение новых сохраненных паролей непосредственно из автомобильного интерфейса. Создание учетных данных ограничено новыми ключами доступа, использующими гибридный поток FIDO.

Чтобы узнать больше о разработке автомобильных ОС, см. обзор Android Automotive OS .

Дополнительные ресурсы