Opublikowano: 5 czerwca 2025 r.
Klucze dostępu mają zrewolucjonizować proces logowania, oferując prostszą, szybszą i bezpieczniejszą alternatywę dla haseł. Ta lista kontrolna przeprowadzi Cię przez najważniejsze aspekty wdrażania kluczy dostępu, aby zapewnić optymalną wygodę użytkowników.
Jak korzystać z tej listy
Ta lista kontrolna jest przeznaczona dla deweloperów i zespołów ds. produktów, którzy wdrażają klucze dostępu w swoich procesach uwierzytelniania. Pozwala na:
- Sprawdź, czy implementacja jest zgodna ze sprawdzonymi metodami dotyczącymi nowoczesnego interfejsu użytkownika kluczy dostępu opisanymi w tych artykułach.
- Określ wymagane i opcjonalne elementy, które zwiększają użyteczność, bezpieczeństwo i zgodność.
- Sprawdź implementację podczas tworzenia i przed wdrożeniem.
- Zgodność ze sprawdzonymi metodami, które wspierają wdrażanie przez użytkowników i interoperacyjność systemu.
Pomagają one zapewnić użytkownikom płynne i bezpieczne korzystanie z usługi.
Rejestracja kluczy dostępu
Aby płynnie przejść z haseł na klucze dostępu w swojej witrynie, musisz mieć zaawansowaną funkcję rejestracji kluczy dostępu. Aby utworzyć w swojej witrynie funkcję rejestracji kluczy dostępu, postępuj zgodnie z instrukcjami podanymi w artykule Tworzenie klucza dostępu do logowania bez hasła. Oprócz podstawowych funkcji rejestracji klucza dostępu sprawdź te kwestie:
✅ Określ "platform" jako wartość załącznika uwierzytelniania, która ma zostać przekazana do navigator.credentials.create() w celu utworzenia promowanego klucza dostępu.
- Zapewnia zoptymalizowany i bezproblemowy proces tworzenia klucza dostępu dla osób, które tworzą klucz dostępu w reakcji na prośbę.
✅ Przed zezwoleniem użytkownikowi na utworzenie klucza dostępu zweryfikuj go za pomocą najskuteczniejszej dostępnej metody uwierzytelniania.
- Jest to ważne, aby uniemożliwić osobie przeprowadzającej atak utworzenie klucza dostępu na przejętym koncie.
✅ Zapobiegaj tworzeniu duplikatów kluczy dostępu u tego samego dostawcy kluczy dostępu za pomocą excludeCredentials.
- Wielu dostawców kluczy dostępu obsługuje tylko 1 klucz dostępu na konto i identyfikator RP. Unikaj tworzenia duplikatów.
✅ Użyj identyfikatora AAGUID, aby zidentyfikować dostawcę klucza dostępu i nazwać dane logowania dla użytkownika.
- Powiązanie klucza dostępu z jego dostawcą kluczy dostępu to intuicyjny sposób prezentowania danych logowania tam, gdzie jest to możliwe.
✅ Sygnalizuj, jeśli próba zarejestrowania klucza dostępu nie powiedzie się z powodu błędu PublicKeyCredential.signalUnknownCredential().
- Nieużywane klucze dostępu mogą powodować zamieszanie. Poinformuj dostawcę klucza dostępu, jeśli serwer nie zarejestrował klucza dostępu.
✅ Wysyłaj powiadomienia do użytkownika po utworzeniu i zarejestrowaniu kodu dostępu do jego konta.
- Upewnij się, że użytkownik wie o tworzeniu klucza dostępu, zwłaszcza gdy robi to ktoś inny.
Uwierzytelnianie za pomocą kluczy dostępu
Obsługa zarówno użytkowników haseł, jak i kluczy dostępu bez minimalnych problemów może być trudna. Aby utworzyć w witrynie funkcję automatycznego wypełniania formularza kluczem dostępu, postępuj zgodnie z instrukcjami w artykule Logowanie za pomocą klucza dostępu przez automatyczne wypełnianie formularza. Oprócz podstawowych funkcji uwierzytelniania za pomocą klucza dostępu sprawdź te elementy:
✅ Zezwalaj użytkownikom na logowanie się za pomocą klucza dostępu przez autouzupełnianie formularza.
- Jeśli Twoja witryna przechodzi z haseł na klucze dostępu, najlepszym sposobem na obsługę obu typów użytkowników jest użycie funkcji automatycznego wypełniania formularzy w przeglądarce.
✅ Sygnalizuj, gdy na backendzie nie zostanie znaleziony pasujący klucz dostępu, za pomocą kodu
PublicKeyCredential.signalUnknownCredential().
- Nieużywane klucze dostępu mogą powodować zamieszanie. Poinformuj dostawcę klucza dostępu, który klucz dostępu jest nieużyteczny, aby mógł go usunąć.
✅ Proś użytkowników o ręczne utworzenie klucza dostępu, jeśli po zalogowaniu nie utworzyli jeszcze klucza.
- Jeśli użytkownik nie utworzył jeszcze klucza dostępu, zachęć go do tego.
✅ Automatyczne tworzenie klucza dostępu (tworzenie warunkowe) po zalogowaniu się użytkownika za pomocą hasła (i drugiego czynnika).
- Przyspieszenie wdrażania kluczy dostępu przez użytkowników.
✅ Wyświetlaj prośbę o utworzenie lokalnego klucza dostępu , jeśli użytkownik zalogował się za pomocą klucza dostępu na innym urządzeniu.
- Utworzenie lokalnego klucza dostępu umożliwia użytkownikowi logowanie się bez skanowania kodu QR od następnego razu.
✅ Po zalogowaniu przesyłaj do dostawcy listę dostępnych kluczy dostępu i zaktualizowane dane użytkownika (nazwę użytkownika, wyświetlaną nazwę).
- Synchronizowanie listy kluczy dostępu i danych użytkownika między serwerem a dostawcą kluczy dostępu zwiększa wygodę użytkowników.
Zarządzanie kluczami dostępu
Dobre zrozumienie kluczy dostępu przez użytkowników pomaga im lepiej orientować się w tej technologii i mieć większą kontrolę nad kluczami dostępu. Postępuj zgodnie z instrukcjami w artykule Pomaganie użytkownikom w skutecznym zarządzaniu kluczami dostępu, aby utworzyć w swojej witrynie funkcję zarządzania kluczami dostępu. Oto, co należy sprawdzić:
✅ Zezwalaj użytkownikom na zarządzanie kluczami dostępu na stronie zarządzania kluczami dostępu.
- utworzyć centralne miejsce, w którym użytkownicy mogą zarządzać kluczami dostępu,
✅ Obsługa rejestrowania wielu kluczy dostępu.
- Możliwość zarejestrowania wielu kluczy dostępu pomaga użytkownikom uniknąć zablokowania dostępu bez konieczności powracania do słabszej metody uwierzytelniania.
✅ Zezwalaj użytkownikom na dodawanie nowych i elastycznych typów kluczy dostępu na stronie zarządzania.
✅ Wyświetl nazwę klucza dostępu.
- Nazwij klucze dostępu na podstawie identyfikatora AAGUID i przedstaw użytkownikowi wizualizację jego kluczy dostępu.
✅ Określ, czy klucz dostępu jest synchronizowany czy nie.
- Informuj użytkownika, gdy klucz dostępu nie jest synchronizowany.
✅ Zezwalaj użytkownikom na usuwanie klucza publicznego z serwera.
✅ Sygnalizuj listę kluczy dostępu, gdy powiązany klucz publiczny zostanie usunięty z serwera.
- Synchronizowanie listy kluczy dostępu między serwerem a dostawcą kluczy dostępu poprawia wrażenia użytkowników.
Uwagi dodatkowe
✅ Sygnalizuj zaktualizowane dane użytkownika (nazwę użytkownika, wyświetlaną nazwę), gdy użytkownik je zaktualizuje.
✅ Tworzenie klucza dostępu zamiast nowego hasła, gdy użytkownik kliknie „Nie pamiętam hasła”.