Wprowadzenie do implementacji kluczy dostępu po stronie serwera

Przegląd

W przypadku zsynchronizowanych kluczy dostępu użytkownicy uwierzytelniają się za pomocą dostawcy kluczy dostępu.

Do tworzenia i uwierzytelniania przy użyciu kluczy dostępu będziesz używać interfejsu WebAuthn API w przeglądarce lub interfejsu Credential Manager API w przypadku aplikacji na Androida. Te interfejsy API obsługują komunikację między klientem a dostawcą kluczy dostępu.

Chociaż te interfejsy API są wywoływane z klienta, na przykład z strony internetowej lub aplikacji na Androida, musisz wdrożyć pozostałe funkcje na serwerze, aby ukończyć przypadki użycia związane z uwierzytelnianiem.

Implementacja klucza dostępu składa się z 2 funkcji:

  1. Rejestracja klucza dostępu Aby umożliwić użytkownikowi utworzenie klucza dostępu, użyj interfejsu WebAuthn API lub Credential Manager API. Zapisz powiązany klucz publiczny na serwerze.
  2. Uwierzytelnianie za pomocą klucza dostępu Wygeneruj test uwierzytelniania z serwera i użyj interfejsu WebAuthn API lub Credential Manager API, aby umożliwić użytkownikowi podpisanie tego wyzwania za pomocą klucza dostępu. Sprawdź podpis na serwerze. Jeśli podpis jest prawidłowy, uwierzytelnij użytkownika.

Biblioteki po stronie serwera

Chociaż można wdrożyć funkcję kluczy dostępu po stronie serwera od podstaw, zalecamy korzystanie z biblioteki.

Serwer, który obsługuje tworzenie kluczy dostępu i uwierzytelnianie, jest nazywany serwerem FIDO2 lub w skrócie serwerem FIDO. Będziemy używać tutaj bibliotek po stronie serwera, które implementują obsługę kluczy dostępu, jako bibliotek po stronie serwera FIDO.

Dlaczego warto korzystać z biblioteki?

Korzystanie z biblioteki FIDO po stronie serwera ma kilka zalet:

  • Czas i wrażenia programistów. Specyfikacja WebAuthn jest złożona. Biblioteki po stronie serwera FIDO udostępniają proste interfejsy API do wdrażania kluczy dostępu, co pozwala zaoszczędzić czas i zmniejszyć zasoby programistyczne.
  • Konserwacja. Specyfikacja WebAuthn nadal może ulec zmianie. Korzystanie z najnowszej wersji aktywnie zarządzanej biblioteki pomaga w aktualizowaniu implementacji.
  • Zabezpieczenia i zgodność. Chcesz, aby implementacja klucza dostępu była zgodna ze specyfikacją WebAuthn i jej wymaganiami dotyczącymi bezpieczeństwa. Biblioteki po stronie serwera FIDO mogą pomóc w zapewnieniu bezpieczeństwa implementacji i zgodności ze specyfikacją. W zależności od usługi i branży Twoja implementacja może również podlegać przepisom, które wymagają stosowania określonych standardów zabezpieczeń do uwierzytelniania.

Jeśli to możliwe, rozważ wsparcie finansowe projektów open source, na których opiera się Twoja usługa.

Biblioteki

Następny