О восстановлении учетных данных

Функция восстановления учетных данных в Менеджере учетных данных позволяет пользователям автоматически восстанавливать аккаунты в приложениях и входить в них при первом открытии приложения после настройки нового устройства. Учетные данные для восстановления, также известные как ключ восстановления, – это тип учетных данных, которые можно сохранить локально или создать резервную копию у поставщика облачных сервисов, а затем использовать для предоставления доступа на новом устройстве пользователя.

В этом руководстве предполагается, что вы знакомы со следующими понятиями:

Преимущества

Преимущества функции восстановления учетных данных:

  • Удобство для пользователей. Пользователи могут сразу начать работу с приложением на новом устройстве, не выполняя вход вручную.
  • Повышение удержания пользователей и снижение расходов на поддержку. Автоматический вход при обновлении устройства предотвращает отток пользователей и значительно снижает расходы на поддержку, связанные с заброшенными аккаунтами и восстановлением паролей.
  • Повышенная безопасность. Фоновое восстановление учетных данных позволяет избежать дополнительных экранов входа и запросов на восстановление доступа к аккаунту вручную, что снижает уязвимость к фишингу и краже учетных данных.
  • Мгновенное вовлечение. Вы можете отправлять пользователям уведомления и другие подсказки, как только они начнут использовать новое устройство.
  • Поддержка нескольких механизмов аутентификации. К ним относятся:

Обзор процесса

Ниже описаны действия, которые нужно выполнить на каждом устройстве.

На предыдущем устройстве

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

Чтобы пользователь мог создавать резервные копии в облаке, должны выполняться следующие требования:

  • Выполнен вход в аккаунт Google.
  • Включено резервное копирование данных Android. Подробнее о резервном копировании данных…
  • Настройте способ разблокировки экрана, например графический ключ, PIN-код, пароль или биометрические данные.

Если эти условия не выполняются, выдается ошибка E2eeUnavailableException. В этом случае перехватите исключение и снова вызовите createCredential() с isCloudBackupEnabled = false, чтобы ключ восстановления по-прежнему сохранялся локально для переноса данных с устройства на устройство.

На новом устройстве

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

  • Из резервной копии в облаке. Если используется резервная копия в облаке, ключ восстановления скачивается на новое устройство вместе с данными приложения.
  • Перенос данных между устройствами. Когда пользователи переносят данные напрямую между старым и новым устройствами во время настройки, ключ восстановления перемещается со старого устройства на новое через USB-кабель или беспроводное соединение Wi-Fi.

После того как ключ восстановления станет доступен на новом устройстве, вы сможете использовать его для входа пользователя.

Процесс восстановления учетных данных со старого устройства на новое не требует действий пользователя.
Рисунок 1. Обзор процесса восстановления учетных данных

Как использовать восстановление учетных данных вместе с резервным копированием данных приложений

Помимо входа в аккаунт, приложение должно переносить локальные настройки пользователя, офлайн-черновики и параметры тёмной темы, чтобы обеспечить полный и беспроблемный переход на новое устройство.

  • Восстановление идентификационных данных. Используйте функцию восстановления учетных данных, чтобы автоматически восстанавливать доступ к аккаунту.
  • Восстановление состояния и настроек. Настройте автоматическое резервное копирование (dataExtractionRules), чтобы сохранять пользовательские настройки, локальные базы данных и состояние приложения при переносе данных между устройствами через облако или кабель. Исключите необработанные токены аутентификации, зашифрованный текст Android Keystore, привязанный к оборудованию, и локальный маркер has_synced_restore_credential, чтобы устаревшее состояние сеанса не копировалось на новое устройство.

Как управлять несколькими профилями и аккаунтами приложений

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

Приложения, в которых выполнен вход в несколько аккаунтов

Некоторые приложения позволяют пользователям переключаться между несколькими активными аккаунтами (например, личным и рабочим аккаунтами электронной почты в одном приложении). Restore Credentials поддерживает только один аккаунт на приложение. Если пользователь вошел в несколько аккаунтов, выберите только один, для которого будет создан ключ восстановления. Обычно это основной или последний использованный аккаунт.

Устройства с несколькими системными профилями

На устройствах с отдельными системными профилями (например, на корпоративном устройстве с управляемым рабочим профилем и личным профилем) ключ восстановления доступен для основного профиля, настроенного во время первоначальной интеграции устройства. Если корпоративные правила запрещают резервное копирование на нескольких устройствах или передачу учетных данных в управляемом рабочем профиле, createCredential() или getCredential() может не вернуть учетные данные. В этом случае приложение должно использовать стандартный вход.

Ограничения

Восстановление учетных данных поддерживается на телефонах, складных устройствах и планшетах с Android 9 (уровень API 28) или более поздней версии и сервисами Google Play версии 242200000 или более поздней. Восстановление между устройствами разных категорий (например, с телефона на Wear OS, Android TV, Android Auto, Android XR или ChromeOS) не поддерживается. Подробнее об аутентификации на устройствах разных типов…

Дальнейшие действия