Введение в реализацию пароля на стороне сервера

Обзор

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

Для создания и аутентификации с помощью ключей доступа вы будете использовать API WebAuthn для Интернета или API диспетчера учетных данных для приложений Android. Эти API управляют связью между клиентом и поставщиком ключей доступа.

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

Реализация пароля состоит из двух функций:

  1. Регистрация пароля. Используйте API WebAuthn или API диспетчера учетных данных, чтобы позволить пользователю создать ключ доступа. Сохраните связанный открытый ключ на сервере.
  2. Аутентификация с помощью пароля . Получите запрос аутентификации с сервера и используйте API WebAuthn или API диспетчера учетных данных, чтобы позволить пользователю подписать этот запрос с помощью своего ключа доступа. Проверьте подпись на сервере. Если подпись действительна, аутентифицируйте пользователя.

Серверные библиотеки

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

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

Зачем использовать библиотеку?

Использование серверной библиотеки FIDO имеет ряд преимуществ:

  • Время и опыт разработчиков. Спецификация WebAuthn сложна. Серверные библиотеки FIDO могут предоставлять простые API-интерфейсы для реализации ключей доступа, что может сэкономить ваше время и ресурсы для разработки.
  • Ремонтопригодность. Спецификация WebAuthn все еще может быть изменена. Использование последней версии активно поддерживаемой библиотеки помогает поддерживать актуальность вашей реализации.
  • Безопасность и соответствие. Вы хотите, чтобы ваша реализация ключа доступа соответствовала спецификации WebAuthn и ее требованиям безопасности. Серверные библиотеки FIDO могут помочь вам обеспечить безопасность вашей реализации и ее соответствие спецификации. В зависимости от вашего продукта и отрасли ваша реализация также может подпадать под действие правил, требующих использования определенных стандартов безопасности для аутентификации.

Если возможно, рассмотрите возможность финансовой поддержки проектов с открытым исходным кодом, от которых зависит ваш продукт.

Библиотеки

Следующий