Менеджер учетных данных упрощает аутентификацию во всей экосистеме Android. Он предлагает пользователям удобный и понятный интерфейс, а разработчикам – единый API для работы с ключами доступа, паролями и федеративными способами аутентификации, такими как функция "Войти с аккаунтом Google". Хотя основной программный интерфейс остается неизменным для всех типов устройств, каждый из них имеет уникальные особенности пользовательского интерфейса и взаимодействия с пользователем. Для успешной реализации необходимо адаптировать потоки аутентификации вашего приложения к конкретным методам ввода, размерам экрана и пользовательским контекстам каждого устройства.
В этом руководстве рассказывается, как реализовать Менеджер учетных данных на устройствах Android разных форм-факторов. Здесь также приведены ссылки на более подробную документацию и описаны важные моменты, которые следует учитывать.
Мобильные устройства
Мобильные устройства, в том числе телефоны, планшеты и складные устройства, являются наиболее распространенной целью разработки для Android. Стандартная реализация Менеджера учетных данных хорошо подходит для этих устройств, которые обычно оснащены сенсорными экранами и локальными клавиатурами. Пользовательский опыт на этом форм-факторе служит базой, которую вы адаптируете для других. Процессы аутентификации должны соответствовать типу устройства и в полной мере использовать возможности его экрана и способов ввода.
Wear OS
Устройства Wear OS отличаются небольшими экранами и ограниченными возможностями ввода на устройстве. Реализация ключей доступа в Менеджере учетных данных обеспечивает безопасную среду для входа в приложения без необходимости подключения сопряженного телефона и запоминания пароля.
API для Wear OS идентичен API для мобильных устройств, поэтому вы можете использовать существующую интеграцию. Помимо ключей доступа, функции "Войти с аккаунтом Google" и паролей с Менеджером учетных данных, вы можете использовать другие способы аутентификации, в том числе передачу токенов на уровне данных, OAuth или существующие решения. Их можно использовать в качестве резервных копий при переходе на Менеджер учетных данных или, в случае передачи токенов уровня данных, в качестве долгосрочного решения.
Чтобы использовать Менеджер учетных данных для Wear OS, необходимо следующее:
- Минимальный уровень API:
minSdkVersion33 или выше.- Поддержка паролей, ключей доступа и входа с аккаунтом Google
- Версия GMS: та же, что и для мобильных приложений.
Пользовательский интерфейс на устройствах Wear OS выглядит следующим образом:
Подробные инструкции по реализации и примеры кода можно найти в следующих ресурсах:
- Аутентификация на носимых устройствах: Менеджер учетных данных
- Рекомендации по дизайну интерфейса для Wear OS
- Пример использования Менеджера учетных данных на устройстве Wear OS
Ограничения
При использовании Менеджера учетных данных на Wear OS действуют следующие ограничения:
- Не поддерживает создание ключей доступа.
- Не поддерживает восстановление учетных данных.
Android XR
В Android XR (включает виртуальную и дополненную реальность) приложения отображаются в трехмерном пространстве. Ввод данных пользователем принципиально отличается от других типов устройств и основан на естественных способах ввода, таких как жесты руками.
Чтобы адаптировать Менеджер учетных данных для XR, нужно переосмыслить интерфейс аутентификации (с помощью ключей доступа, паролей или федеративных способов входа) для 3D-пространства. Например, окна аутентификации появляются на плавающих панелях, а пользователи выбирают нужные варианты с помощью жестов руками. Вам также необходимо учитывать любые конкретные аппаратные или программные требования для ваших целевых XR-устройств.
Важная задача при разработке – создать интуитивно понятный и безопасный процесс аутентификации в среде виртуальной или дополненной реальности. Также необходимо учитывать, как управлять идентификацией в многопользовательских сценариях XR, когда одно и то же устройство могут использовать разные люди.
Чтобы использовать Менеджер учетных данных для Android XR, необходимо:
- Минимальный уровень API:
minSdkVersion34 или выше. - Версия 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:
Процессы, не поддерживаемые XR
Менеджер учетных данных в Android XR не поддерживает процессы аутентификации, в которых требуется сканировать QR-код на другом устройстве. Это можно заметить при входе в аккаунт на XR-шлеме и во время тестирования в эмуляторе.
Подробнее об Android XR…
Android TV
Устройства Android TV обычно используются совместно, просматриваются на расстоянии и управляются с помощью пультов дистанционного управления с d-pad. Вводить имя пользователя и пароль в таких условиях может быть неудобно. Менеджер учетных данных упрощает аутентификацию на Android TV, поддерживая вход с аккаунтом Google, сохраненные пароли и ключи доступа, которые можно использовать на разных устройствах. Поскольку на общем телевизоре часто существует несколько профилей Google, Менеджер учетных данных адаптируется к этой общей среде, извлекая и отображая все учетные данные, доступные на устройстве, а не ограничивая выбор только текущим активным аккаунтом.
Общий характер устройств также определяет, как обрабатываются ключи доступа. Поскольку на телевизорах нет персонального фактора знания для разблокировки экрана, ключи доступа не создаются и не хранятся на них. Вместо этого аутентификация с помощью ключа доступа использует гибридный поток между устройствами, при котором на телевизоре отображается QR-код, а пользователь сканирует его с помощью своего мобильного устройства для завершения биометрической аутентификации.
На Google TV можно реализовать переход без кликов, если задать значение isAutoSelectAllowed = true, но только если доступен ровно один подходящий набор учетных данных. По-прежнему будет появляться нижний экран телевизора, на котором будет показано подтверждение аккаунта пользователя. Если пользователь не отменит запрос, учетные данные будут возвращены автоматически без необходимости удаленного нажатия. Если подходящих учетных данных несколько, автоматический выбор не выполняется, а пользователю предлагается выбрать нужные.
Если у мобильного и ТВ-приложения одинаковые название пакета Android и ключ подписи, Google Менеджер паролей распознает их как одно приложение.
Благодаря этому пароль, сохраненный на мобильном устройстве, можно использовать на телевизоре без настройки Digital Asset Links (asset_statements). Связи цифровых объектов требуются только при передаче учетных данных между разными доменами, например между приложением и сайтом или между приложениями с разными названиями пакетов.
Для использования Менеджера учетных данных на Android TV должны выполняться следующие требования:
- Минимальный уровень API: Android 14 (уровень API 34,
minSdkVersion34) или более поздняя версия. - Версия GMS: 2026W30 или более поздняя.
- Аппаратное обеспечение для ключей доступа. Чтобы отсканировать QR-код и выполнить гибридный поток FIDO, требуется дополнительное мобильное устройство с камерой и Bluetooth.
Ограничения
Поскольку Android TV – это устройство общего пользования, в целях защиты конфиденциальности и безопасности пользователей при использовании Менеджера учетных данных на этой платформе действуют следующие ограничения:
- Нельзя создавать и хранить ключи доступа на устройстве. Поскольку локальные учетные данные не поддерживаются, не задавайте для параметра
preferImmediatelyAvailableCredentialsзначениеtrueв запросах. В противном случае ключи доступа, сохраненные на других устройствах, будут отфильтрованы и учетные данные не будут возвращены. - Не поддерживаются сторонние поставщики учетных данных. Android TV не поддерживает автозаполнение, поэтому сторонние менеджеры паролей недоступны на этой платформе. Пользователи должны использовать Google Менеджер паролей.
- Нет восстановления учетных данных. Автоматический вход на новых устройствах с помощью функции восстановления учетных данных не поддерживается на Android TV.
Подробнее о разработке приложений для Android TV…
Android Automotive OS
Устройства с Android Automotive OS (AAOS) – это общие системы, встроенные в автомобили. Чтобы адаптировать Менеджер учетных данных для AAOS, необходимо обеспечить поддержку безопасной аутентификации (обычно во время парковки) и нескольких профилей пользователей на общем устройстве.
Если вы адаптируете приложение для больших экранов или планшетов под автомобили и оно уже поддерживает Менеджер учетных данных и ключи доступа на мобильных устройствах или планшетах, то оно будет работать на Android Automotive OS без изменений в процессах аутентификации.
Android Automotive OS поддерживает следующие методы аутентификации:
- Ключи доступа (гибридный процесс для нескольких устройств). Пользователи могут выполнять аутентификацию с помощью существующих ключей доступа в рамках процесса для нескольких устройств. На экране автомобиля появится QR-код, который нужно отсканировать с помощью мобильного устройства. Поскольку биометрическая аутентификация и разблокировка экрана выполняются на телефоне, пользователям не нужно настраивать блокировку экрана на дисплее автомобиля.
- Войти с аккаунтом Google. На дисплее автомобиля появится экран входа в аккаунт Google.
- Сохраненные пароли. Пользователи могут получать сохраненные пароли из Google Менеджера паролей, чтобы входить в аккаунт без ввода учетных данных на экране автомобиля.
Android Automotive OS управляет сеансами и учетными данными для каждого профиля, изолируя данные сеанса, относящиеся к определенному пользователю, между профилями (например, профилем А, профилем Б или гостевым профилем).
Чтобы использовать Менеджер учетных данных для Android Automotive OS, необходимо следующее:
- Минимальный уровень API: Android 9 (уровень API 28,
minSdkVersion28) или выше. Для межплатформенного доступа к ключам доступа требуется Android 14 (уровень API 34) или более поздняя версия. - Версия GMS: та же, что и для мобильных приложений.
Ограничения тестирования
Для тестирования ключей доступа требуется физическое устройство с Android Automotive OS в качестве основной платформы. Инструкции по настройке приведены в статье Как тестировать приложения для Android Automotive OS на планшете Pixel Tablet. Эмуляторы нельзя использовать для тестирования ключей доступа, поскольку они не поддерживают Bluetooth с низким энергопотреблением (BLE), который требуется для гибридного потока FIDO.
Ограничения и неподдерживаемые процессы
При использовании Менеджера учетных данных в Android Automotive OS действуют следующие ограничения:
- Невозможно сохранить или получить ключ доступа локально. Прямое получение ключа доступа локально не поддерживается, поскольку автомобили являются общими устройствами. Синхронизация ключей доступа напрямую с автомобилем представляет угрозу безопасности, поэтому ключи доступа должны использоваться через гибридный поток между устройствами.
- Неподдерживаемые учетные данные, доступные сразу. Если приложение запрашивает ключ доступа и устанавливает для
preferImmediatelyAvailableCredentialsзначениеtrue, интерфейс Android Automotive сразу же закрывается и выдает ошибкуNoCredentialException. Предусмотрите подходящий резервный интерфейс для этого сценария. - Сторонние поставщики учетных данных не поддерживаются. В Android Automotive OS нельзя использовать сторонние менеджеры паролей. Для аутентификации пользователи должны использовать Менеджер паролей Google или гибридные потоки на нескольких устройствах.
- Нельзя создать сохраненный пароль. API не поддерживает создание и сохранение нового сохраненного пароля непосредственно через интерфейс автомобиля. Создание учетных данных ограничено новыми ключами доступа, использующими гибридный поток FIDO.
Подробнее о разработке для Android Automotive OS…
Дополнительные ресурсы
- О Менеджере учетных данных
- Что такое восстановление учетных данных
- Об Android TV
- Обзор Android Automotive OS