Опубликовано: 5 июня 2025 г.
Пароли призваны революционизировать процесс входа в систему, предлагая более простую, быструю и безопасную альтернативу паролям. Этот контрольный список поможет вам разобраться в ключевых аспектах внедрения паройей для достижения оптимальных результатов в плане пользовательского опыта (UX).
Как использовать этот контрольный список
Этот контрольный список предназначен для разработчиков и продуктовых команд, внедряющих пароли в свои процессы аутентификации. Используйте его для:
- Убедитесь, что ваша реализация соответствует современным передовым методам пользовательского интерфейса для ввода пароля, описанным в следующих статьях.
- Определите обязательные и необязательные элементы, которые улучшают удобство использования, безопасность и совместимость.
- Проверяйте свою реализацию на этапе разработки и перед развертыванием.
- Придерживайтесь передовых методов, способствующих внедрению системы пользователями и обеспечению ее совместимости.
Это поможет вам обеспечить бесперебойную и безопасную работу для конечных пользователей.
Регистрация ключей доступа
Для плавного перехода от паролей к ключам доступа на вашем веб-сайте ключевым моментом является наличие развитой системы регистрации ключей доступа. Следуйте инструкциям, описанным в разделе «Создание ключа доступа для входа без пароля», чтобы реализовать функцию регистрации ключей доступа на вашем веб-сайте. Вот что следует проверить в дополнение к основным функциям регистрации ключей доступа:
✅ Укажите "platform" в качестве значения параметра аутентификации, которое будет передано в метод navigator.credentials.create() для создания продвигаемого ключа доступа.
- Обеспечьте оптимизированный и бесперебойный процесс создания паролей для тех, кто создает пароль реактивно.
✅ Перед тем как разрешить пользователю создать пароль, необходимо подтвердить его личность с помощью самого надежного из доступных методов аутентификации.
- Это важно для предотвращения создания злоумышленником пароля для взломанного аккаунта.
✅ Предотвратите создание дубликатов ключей доступа для одного и того же поставщика ключей доступа с помощью excludeCredentials .
- Многие сервисы, предоставляющие ключи доступа, позволяют использовать только один ключ доступа на учетную запись и идентификатор RP. Избегайте создания дубликатов.
✅ Используйте AAGUID для идентификации поставщика пароля и для присвоения имени учетным данным пользователя.
- Связывание ключа доступа с поставщиком этого ключа — это интуитивно понятный способ представления учетных данных там, где это возможно.
✅ Если попытка зарегистрировать пароль не удалась, сообщите об этом с помощью PublicKeyCredential.signalUnknownCredential() .
- Наличие лишних паролей может вызвать путаницу. Сообщите поставщику паролей, если серверу не удалось зарегистрировать пароль.
✅ После создания и регистрации пароля для учетной записи пользователю будет отправлено уведомление .
- Убедитесь, что пользователь осведомлен о создании пароля, особенно если это делает кто-то другой.
Аутентификация с помощью паролей
Обеспечение беспроблемной работы как с пользователями, использующими пароль, так и с пользователями, использующими ключ доступа, может быть непростой задачей. Следуйте инструкциям, описанным в разделе «Вход с помощью ключа доступа через автозаполнение формы» , чтобы создать функцию автозаполнения формы с ключом доступа на вашем веб-сайте. Вот что следует проверить в дополнение к основным функциям аутентификации с помощью ключа доступа:
✅ Предоставьте пользователям возможность входить в систему с помощью пароля через функцию автозаполнения формы .
- Если ваш веб-сайт переходит от паролей к ключам доступа, наилучший способ обеспечить удобство для обоих типов пользователей — использовать функцию автозаполнения форм в браузере.
✅ Если на бэкэнде не найдены соответствующие учетные данные для ключа доступа, используйте метод PublicKeyCredential.signalUnknownCredential() .
- Наличие лишних паролей может вызвать путаницу. Сообщите поставщику паролей, какой из них неиспользуем, чтобы он мог его удалить.
✅ Предложите пользователям создать пароль вручную, если они этого не сделали после входа в систему.
- Если пользователь еще не создал пароль, предложите ему это сделать.
✅ Автоматическое создание пароля (условное создание) после входа пользователя в систему с помощью пароля (и второго фактора аутентификации).
- Ускорьте внедрение пользовательских паролей.
✅ Если пользователь вошел в систему с помощью пароля, созданного на разных устройствах, будет предложено создать локальный пароль.
- Создание локального пароля позволяет пользователю входить в систему без сканирования QR-кода в следующий раз.
✅ После входа в систему отправьте провайдеру список доступных паролей и обновленные данные пользователя (имя пользователя, отображаемое имя).
- Поддержание синхронизации списка паролей и данных пользователей между сервером и поставщиком паролей улучшает пользовательский опыт.
Управление ключами доступа
Предоставление пользователям четкого понимания ключей доступа помогает им лучше ориентироваться в системе и контролировать свои ключи. Следуйте инструкциям, описанным в разделе «Помощь пользователям в эффективном управлении ключами доступа» , чтобы создать функцию управления ключами доступа на вашем веб-сайте. Вот что вам следует проверить:
✅ Предоставьте пользователям возможность управлять ключами доступа на странице управления ключами доступа .
- Создайте централизованное место, где пользователи смогут управлять своими паролями.
✅ Поддерживается регистрация нескольких паролей .
- Возможность регистрации нескольких паролей помогает пользователям предотвратить блокировку доступа, не прибегая к более слабым методам аутентификации.
✅ Предоставьте пользователям возможность добавлять новые и гибкие типы паролей на странице управления.
✅ Отобразить имя пароля .
- Называйте ключи доступа на основе AAGUID и предоставляйте наглядное визуальное отображение ключей доступа пользователя.
✅ Укажите, является ли пароль синхронизируемым или несинхронизируемым .
- Уведомите пользователя, если пароль не синхронизирован.
✅ Предоставьте пользователям возможность удалять открытый ключ с сервера.
✅ Отображать список паролей при удалении связанного с ними открытого ключа с сервера.
- Поддержание синхронизации списка паролей между сервером и поставщиком паролей улучшает пользовательский опыт.

Дополнительные соображения
✅ Сообщайте пользователю об обновленных данных (имя пользователя, отображаемое имя) при их внесении.
✅ При возникновении ошибки «Забыли пароль» вместо нового пароля создайте новый ключ доступа .