Wprowadzenie do implementacji kluczy dostępu po stronie serwera

Przegląd

Gdy używasz zsynchronizowanych kluczy dostępu, użytkownicy uwierzytelniają się u dostawcy klucza dostępu.

Do tworzenia i uwierzytelniania za pomocą kluczy dostępu używaj interfejsu WebAuthn API w internecie lub 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 poziomu klienta, na przykład strony internetowej lub aplikacji na Androida, resztę funkcji musisz wdrożyć na serwerze, aby dokończyć przypadki użycia uwierzytelniania.

Implementacja klucza dostępu obejmuje 2 funkcje:

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

Biblioteki po stronie serwera

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

Serwer obsługujący tworzenie i uwierzytelnianie kluczy dostępu jest nazywany serwerem FIDO2 lub w skrócie serwerem FIDO. Jako rozszerzenie będziemy tu opisywać biblioteki po stronie serwera, które implementują obsługę kluczy dostępu, jako biblioteki FIDO po stronie serwera.

Dlaczego warto korzystać z biblioteki?

Stosowanie biblioteki FIDO po stronie serwera ma kilka zalet:

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

W miarę możliwości rozważ finansowanie projektów open source, na których opiera się Twoja usługa.

Biblioteki

Następny krok