Aby zapobiec tworzeniu nowego klucza dostępu, jeśli istnieje już ten sam klucz dostępu
dostawcy, użyj opcjonalnej właściwości excludeCredentials
protokołu WebAuthn
PublicKeyCredentialCreationOptions
.
słownik.
Właściwość excludeCredentials
to tablica deskryptorów kluczy publicznych
które już istnieją dla danego użytkownika. Informacje te są dostarczane przez
serwer strony zależnej
gdy chce zapobiec tworzeniu nowych danych logowania dla istniejącego użytkownika
za pomocą jednego mechanizmu uwierzytelniającego.
Tablica excludeCredentials
ma te atrybuty:
- type: ciąg tekstowy opisujący typ danych logowania za pomocą klucza publicznego, które mają zostać
. Wartość domyślna to „
public-key
”. - id: wartość
ArrayBuffer
pasująca do istniejących danych uwierzytelniających klucza publicznego (PublicKeyCredential.rawId
). Ten identyfikator jest generowany podczas przez utworzenie instancjiPublicKeyCredential
.
Klient zwraca błąd, jeśli użytkownik próbuje utworzyć
nowe dane logowania w mechanizmie uwierzytelniania platformy, który zawiera już jeden z
dane logowania wymienione w tym parametrze. Jeśli w module uwierzytelniającym znajduje się już parametr
danych logowania za pomocą klucza publicznego, mechanizm uwierzytelniający zbiera zgodę użytkownika,
zwykle i wyświetla użytkownikowi wskaźnik powodzenia bez tworzenia nowych danych logowania. An
Zgłoszono wyjątek InvalidStateError
, który wskazuje, że użytkownik ma już
prawidłowe dane logowania dopasowane z adresu excludeCredentials
.
"excludeCredentials": [
{"id": "<id-1>", "type": "public-key"},
{"id": "<id-2>", "type": "public-key"}
]
Plik JSON może być używany do zapobiegania uwierzytelnianiem z użyciem jednego z podanych
dane logowania przed przystąpieniem do ponownej rejestracji. Każda „<id-*>
” wartość powinna
zostanie wypełnione identyfikatorem certyfikatu do wykluczenia.
Więcej informacji o excludeCredentials
znajdziesz w W3C
rekomendacja