Управление ключами доступа,Управление ключами доступа

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

  • Управление паролями пользователей : Добавьте в настройки приложения специальный раздел для управления паролями, чтобы пользователи могли управлять своими паролями.
  • Интеграция с поставщиками учетных данных : для взаимодействия с поставщиками учетных данных сервер приложений может реализовать конечные точки passkey для регистрации, аутентификации и удаления.

User passkey management

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

Display available passkeys

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

Для получения информации о поставщике учетных данных используйте глобально уникальный идентификатор аттестации аутентификатора (AAGUID), связанный с соответствующим ключом доступа. AAGUID является частью объекта PublicKeyCredential , возвращаемого при создании ключа доступа . AAGUID позволяет идентифицировать поставщика учетных данных, создавшего ключ доступа. Для получения дополнительной информации см. раздел «Определение поставщика ключа доступа с помощью AAGUID» .

Ваше приложение может отображать следующие сведения о пароле:

  • Имя пароля: Отобразить имя, присвоенное при регистрации пароля. Идеальное имя должно основываться на поставщике учетных данных (с использованием AAGUID); если поставщик не может быть идентифицирован, использовать информацию о модели устройства из android.os.Build .
  • Логотип поставщика: Отобразите логотип поставщика учетных данных. Этот визуальный элемент помогает пользователям быстро определить правильный пароль, которым они хотят управлять.
  • Временные метки: Укажите временную метку создания и временную метку последнего использования. Эта информация помогает пользователям управлять своими учетными данными и выявлять старые или неиспользуемые ключи доступа.
  • Индикатор состояния синхронизации: по умолчанию ключи доступа синхронизируются с поставщиками учетных данных, но возможности синхронизации могут различаться. Во избежание путаницы у пользователей четко указывайте, если ключ доступа не поддерживает синхронизацию.
  • Данные последнего входа (необязательно): Укажите такие сведения, как браузер, операционная система, IP-адрес или местоположение последнего входа. Это полезная дополнительная функция, позволяющая пользователям выявлять потенциально подозрительную активность.

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

На странице настроек приложения отображаются все сохраненные пароли для приложения, а также поставщик учетных данных и дата создания.
Рисунок 1. На странице настроек приложения отображаются все сохраненные пароли для приложения, а также поставщик учетных данных и дата создания.

Create multiple passkeys

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

Чтобы снизить риск блокировки учетных записей, разрешите пользователям регистрировать несколько паролей у разных поставщиков учетных данных. Если один из поставщиков учетных данных станет недоступен — например, если платформа прекратит поддержку или пользователь потеряет доступ — он сможет использовать другой пароль для входа. Убедитесь, что ваша база данных поддерживает хранение нескольких учетных данных для одного пользователя. Однако вы можете запретить пользователям создавать пароль для одной и той же учетной записи у одного и того же поставщика учетных данных .

Удалить пароли

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

Интегрируйте API Signal для поддержки функции удаления пароля.

Credential provider integration

Чтобы обеспечить согласованность паролей между сервером приложений и поставщиком учетных данных, включите управление ключами паролей по предопределенному пути /.well-known/passkey-endpoints на вашем сервере приложений. Это позволит поставщикам учетных данных напрямую использовать эти конечные точки для управления ключами паролей. Для получения дополнительной информации см. раздел «Добавление конечных точек для ключей паролей» .

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