Обзор
При использовании синхронизированных ключей доступа люди проходят аутентификацию с помощью поставщика ключей доступа .
Для создания и аутентификации с помощью ключей доступа вы будете использовать API WebAuthn для Интернета или API диспетчера учетных данных для приложений Android. Эти API управляют связью между клиентом и поставщиком ключей доступа.
Хотя эти API-интерфейсы вызываются из клиента, такого как веб-страница или приложение Android, вам необходимо реализовать остальную функциональность на сервере, чтобы завершить сценарии использования аутентификации.
Реализация пароля состоит из двух функций:
- Регистрация пароля. Используйте API WebAuthn или API диспетчера учетных данных, чтобы позволить пользователю создать ключ доступа. Сохраните связанный открытый ключ на сервере.
- Аутентификация с помощью пароля . Получите запрос аутентификации с сервера и используйте API WebAuthn или API диспетчера учетных данных, чтобы позволить пользователю подписать этот запрос с помощью своего ключа доступа. Проверьте подпись на сервере. Если подпись действительна, аутентифицируйте пользователя.
Серверные библиотеки
Несмотря на то, что функциональность ключей доступа на стороне сервера можно реализовать с нуля, мы рекомендуем вместо этого полагаться на библиотеку.
Сервер, который поддерживает создание ключей доступа и аутентификацию, называется сервером FIDO2 или для краткости сервером FIDO . В более широком смысле мы будем называть здесь серверные библиотеки, реализующие поддержку ключей доступа, серверными библиотеками FIDO .
Зачем использовать библиотеку?
Использование серверной библиотеки FIDO имеет ряд преимуществ:
- Время и опыт разработчиков. Спецификация WebAuthn сложна. Серверные библиотеки FIDO могут предоставлять простые API-интерфейсы для реализации ключей доступа, что может сэкономить ваше время и ресурсы для разработки.
- Ремонтопригодность. Спецификация WebAuthn все еще может быть изменена. Использование последней версии активно поддерживаемой библиотеки помогает поддерживать актуальность вашей реализации.
- Безопасность и соответствие. Вы хотите, чтобы ваша реализация ключа доступа соответствовала спецификации WebAuthn и ее требованиям безопасности. Серверные библиотеки FIDO могут помочь вам обеспечить безопасность вашей реализации и ее соответствие спецификации. В зависимости от вашего продукта и отрасли ваша реализация также может подпадать под действие правил, требующих использования определенных стандартов безопасности для аутентификации.
Если возможно, рассмотрите возможность финансовой поддержки проектов с открытым исходным кодом, от которых зависит ваш продукт.
Библиотеки
- Репозиторий Awesome-webauthn на GitHub включает список серверных библиотек, курируемый сообществом . Вы найдете библиотеки для JavaScript и TypeScript, Go, Python и других языков.
- Коллекция библиотек доступна на passkeys.dev . Он поддерживается группой сообщества W3C WebAuthn Adoption .
- FIDO Alliance ссылается на набор серверов FIDO2 .