Użytkownicy mogą sprawdzić, który dostawca kluczy dostępu utworzył klucz dostępu, sprawdzając identyfikator AAGUID powiązanych poświadczeń klucza publicznego.
Problemy z zarządzaniem kluczami dostępu
Jedną z zalet korzystania z kluczy dostępu jest to, że użytkownicy mogą tworzyć wiele kluczy dostępu do jednego konta. Dzięki tej elastyczności i wytrzymałości kluczy dostępu nawet wtedy, gdy użytkownik utraci dostęp do konta z powodu utraty jednego z kluczy dostępu, może on nadal logować się na konto strony uwierzytelniającej, używając alternatywnych kluczy dostępu.
Użytkownicy, którzy zarządzają wieloma kluczami dostępu w urządzeniu RP, mają problem z określeniem właściwego klucza, gdy chcą go zmienić lub usunąć. Dobrym przykładem jest sytuacja, gdy użytkownik chce usunąć nieużywany klucz dostępu. Zalecamy, aby na liście kluczy dostępu dołączyć informacje o kluczu, takie jak data utworzenia i data ostatniego użycia. Ułatwia to użytkownikom znalezienie konkretnego klucza dostępu.
RP mogą też zezwalać użytkownikom na nadawanie nazw kluczy dostępu zaraz po ich utworzeniu lub później, ale wielu użytkowników tego nie robi. W idealnej sytuacji nazwy kluczy dostępu są generowane automatycznie na podstawie sygnałów wysyłanych z poziomu klienta lub informacji zawartych w danych logowania z kluczem publicznym.
Przeglądarki udostępniają ciąg klienta użytkownika, którego mogą używać strony internetowe do nazwania kluczy dostępu, ale platformy takie jak Android, iOS czy przeglądarki na komputery z możliwością rozszerzeń umożliwiają tworzenie kluczy dostępu przez menedżerów haseł innych firm, a ciąg klienta użytkownika niekoniecznie wskazuje, kto jest rzeczywistym dostawcą klucza dostępu.
Dzięki globalnemu unikatowemu identyfikatorowi uwierzytelniania uwierzytelniania (AAGUID) zawartemu w kluczu publicznym zwracanym podczas rejestracji klucza dostępu dostawcy RP mogą określić dostawcę klucza dostępu i użyć go, aby użytkownicy mogli łatwo znaleźć odpowiedni klucz dostępu.
Określanie dostawcy klucza dostępu za pomocą identyfikatora AAGUID
AAGUID to unikalny numer identyfikujący model uwierzytelniania (nie konkretną instancję uwierzytelniania). Identyfikator AAGUID można znaleźć w danych uwierzytelniania danych logowania z kluczem publicznym.

RP mogą używać AAGUID do identyfikacji dostawcy kluczy dostępu. Jeśli na przykład użytkownik utworzy klucz dostępu na urządzeniu z Androidem za pomocą Menedżera haseł Google, RP otrzyma identyfikator AAGUID "ea9b8d66-4d01-1d21-3ce4-b6b48cb575d4"
. RP może dodać adnotację do klucza dostępu na liście kluczy dostępu, aby wskazać, że został on utworzony w Menedżerze haseł Google.

Aby zmapować identyfikator AAGUID na dostawcę kluczy dostępu, RP może skorzystać z repozytorium AAGUID udostępnionego przez społeczność. Wyszukiwanie identyfikatora AAGUID na liście pozwala znaleźć nazwę dostawcy kluczy dostępu i tekst danych ikony SVG.
Pobieranie identyfikatora AAGUID jest funkcją, którą dysponują większość bibliotek WebAuthn. Poniższy przykład pokazuje kod rejestracji po stronie serwera, który korzysta z SimpleWebAuthn:
// Import a list of AAGUIDs from a JSON file
import aaguids from './aaguids.json' with { type: 'json' };
...
// Use SimpleWebAuthn handy function to verify the registration request.
const { verified, registrationInfo } = await verifyRegistrationResponse({
response: credential,
expectedChallenge,
expectedOrigin,
expectedRPID,
requireUserVerification: false,
});
...
const { aaguid } = registrationInfo;
const provider_name = aaguids[aaguid]?.name || 'Unknown';
Podsumowanie
AAGUID to unikalny ciąg znaków identyfikujący dostawcę klucza, który utworzył klucz dostępu. Usługodawcy mogą używać identyfikatorów AAGUID, aby ułatwić użytkownikom zarządzanie kluczami dostępu. Repozytorium AAGUID udostępnione przez społeczność może służyć do mapowania AAGUID na dostawców kluczy dostępu.