Opis
Interfejs chrome.webAuthenticationProxy
API umożliwia oprogramowaniu pulpitu zdalnego działające na hoście zdalnym przechwytywanie żądań do interfejsu Web Authentication API (WebAuthn) w celu obsługi ich na kliencie lokalnym.
Uprawnienia
webAuthenticationProxy
Dostępność
Typy
CreateRequest
Właściwości
-
requestDetailsJson
ciąg znaków
PublicKeyCredentialCreationOptions
przekazana donavigator.credentials.create()
, zserializowana jako ciąg znaków JSON. Format serializacji jest zgodny zPublicKeyCredential.parseCreationOptionsFromJSON()
. -
requestId
liczba
Nieprzejrzysty identyfikator żądania.
CreateResponseDetails
Właściwości
-
błąd
DOMExceptionDetails optional
Wartość
DOMException
uzyskana przez żądanie zdalne (jeśli istnieje). -
requestId
liczba
requestId
CreateRequest
. -
responseJson
ciąg znaków opcjonalny
PublicKeyCredential
, wygenerowany przez żądanie zdalne (jeśli takie istnieje) zserializowane jako ciąg znaków JSON przez wywołanie href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson">PublicKeyCredential.toJSON()
DOMExceptionDetails
Właściwości
-
wiadomość
ciąg znaków
-
nazwa
ciąg znaków
GetRequest
Właściwości
-
requestDetailsJson
ciąg znaków
PublicKeyCredentialRequestOptions
przekazana donavigator.credentials.get()
, zserializowana jako ciąg znaków JSON. Format serializacji jest zgodny zPublicKeyCredential.parseRequestOptionsFromJSON()
. -
requestId
liczba
Nieprzejrzysty identyfikator żądania.
GetResponseDetails
Właściwości
-
błąd
DOMExceptionDetails optional
Wartość
DOMException
uzyskana przez żądanie zdalne (jeśli istnieje). -
requestId
liczba
requestId
CreateRequest
. -
responseJson
ciąg znaków opcjonalny
PublicKeyCredential
, wygenerowany przez żądanie zdalne (jeśli takie istnieje) zserializowane jako ciąg znaków JSON przez wywołanie href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson">PublicKeyCredential.toJSON()
IsUvpaaRequest
Właściwości
-
requestId
liczba
Nieprzejrzysty identyfikator żądania.
IsUvpaaResponseDetails
Właściwości
-
isUvpaa
wartość logiczna
-
requestId
liczba
Metody
attach()
chrome.webAuthenticationProxy.attach(
callback?: function,
)
Ustawia to rozszerzenie jako aktywny serwer proxy żądania Web Authentication API.
Rozszerzenia pulpitu zdalnego zwykle wywołują tę metodę po wykryciu przyłącza sesji zdalnej do tego hosta. Gdy ta metoda zostanie zwrócona bez błędu, regularne przetwarzanie żądań WebAuthn zostanie zawieszone i zgłoszone są zdarzenia z tego interfejsu API rozszerzenia.
Jeśli do połączenia jest już podłączone inne rozszerzenie, ta metoda zakończy się niepowodzeniem.
Aby wznowić zwykłe przetwarzanie żądań WebAuthn, dołączone rozszerzenie musi wywołać funkcję detach()
po zakończeniu sesji pulpitu zdalnego. Rozszerzenia są automatycznie odłączane w przypadku wyładowania.
Zapoznaj się ze zdarzeniem onRemoteSessionStateChange
, aby sygnalizować zmianę przyłącza sesji zdalnej z aplikacji natywnej na rozszerzenie (być może zawieszone).
Parametry
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:(error?: string) => void
.-
błąd
ciąg znaków opcjonalny
-
Zwroty
-
Obietnica<ciąg | niezdefiniowane>
Obietnice są obsługiwane w Manifest V3 i nowszych, ale wywołania zwrotne są podane w przypadku zgodność wsteczną. Nie można użyć obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.
completeCreateRequest()
chrome.webAuthenticationProxy.completeCreateRequest(
details: CreateResponseDetails,
callback?: function,
)
Zgłasza wynik wywołania funkcji navigator.credentials.create()
. Rozszerzenie musi wywoływać ten parametr w przypadku każdego odebranego zdarzenia onCreateRequest
, chyba że żądanie zostało anulowane (w takim przypadku wywoływane jest zdarzenie onRequestCanceled
).
Parametry
-
szczegóły
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:() => void
.
Zwroty
-
Obietnica<void>
Obietnice są obsługiwane w Manifest V3 i nowszych, ale wywołania zwrotne są podane w przypadku zgodność wsteczną. Nie można użyć obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.
completeGetRequest()
chrome.webAuthenticationProxy.completeGetRequest(
details: GetResponseDetails,
callback?: function,
)
Zgłasza wynik wywołania funkcji navigator.credentials.get()
. Rozszerzenie musi wywoływać ten parametr w przypadku każdego odebranego zdarzenia onGetRequest
, chyba że żądanie zostało anulowane (w takim przypadku wywoływane jest zdarzenie onRequestCanceled
).
Parametry
-
szczegóły
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:() => void
.
Zwroty
-
Obietnica<void>
Obietnice są obsługiwane w Manifest V3 i nowszych, ale wywołania zwrotne są podane w przypadku zgodność wsteczną. Nie można użyć obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.
completeIsUvpaaRequest()
chrome.webAuthenticationProxy.completeIsUvpaaRequest(
details: IsUvpaaResponseDetails,
callback?: function,
)
Zgłasza wynik wywołania funkcji PublicKeyCredential.isUserVerifyingPlatformAuthenticator()
. Rozszerzenie musi wywoływać ten parametr w przypadku każdego odebranego zdarzenia onIsUvpaaRequest
.
Parametry
-
szczegóły
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:() => void
.
Zwroty
-
Obietnica<void>
Obietnice są obsługiwane w Manifest V3 i nowszych, ale wywołania zwrotne są podane w przypadku zgodność wsteczną. Nie można użyć obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.
detach()
chrome.webAuthenticationProxy.detach(
callback?: function,
)
Powoduje usunięcie tego rozszerzenia z aktywnego serwera proxy żądań Web Authentication API.
Ta metoda jest zwykle wywoływana, gdy rozszerzenie wykryje, że sesja pulpitu zdalnego została zakończona. Po zwróceniu tej metody rozszerzenie przestaje być aktywnym serwerem proxy żądania Web Authentication API.
Zapoznaj się ze zdarzeniem onRemoteSessionStateChange
, aby sygnalizować zmianę przyłącza sesji zdalnej z aplikacji natywnej na rozszerzenie (być może zawieszone).
Parametry
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:(error?: string) => void
.-
błąd
ciąg znaków opcjonalny
-
Zwroty
-
Obietnica<ciąg | niezdefiniowane>
Obietnice są obsługiwane w Manifest V3 i nowszych, ale wywołania zwrotne są podane w przypadku zgodność wsteczną. Nie można użyć obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.
Wydarzenia
onCreateRequest
chrome.webAuthenticationProxy.onCreateRequest.addListener(
callback: function,
)
Uruchamiany po wystąpieniu wywołania WebAuthn navigator.credentials.create()
. Rozszerzenie musi dostarczyć odpowiedź, wywołując metodę completeCreateRequest()
z parametrem requestId
z requestInfo
.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(requestInfo: CreateRequest) => void
.-
requestInfo
-
onGetRequest
chrome.webAuthenticationProxy.onGetRequest.addListener(
callback: function,
)
Uruchamiany po wystąpieniu wywołania WebAuthn navigator.credentials.get(). Rozszerzenie musi dostarczyć odpowiedź, wywołując metodę completeGetRequest()
z wyświetleniem requestId
z domeny requestInfo
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(requestInfo: GetRequest) => void
.-
requestInfo
-
onIsUvpaaRequest
chrome.webAuthenticationProxy.onIsUvpaaRequest.addListener(
callback: function,
)
Uruchamiany po wystąpieniu wywołania PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()
. Rozszerzenie musi dostarczyć odpowiedź, wywołując metodę completeIsUvpaaRequest()
z wyświetleniem requestId
z domeny requestInfo
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(requestInfo: IsUvpaaRequest) => void
.-
requestInfo
-
onRemoteSessionStateChange
chrome.webAuthenticationProxy.onRemoteSessionStateChange.addListener(
callback: function,
)
Aplikacja natywna powiązana z tym rozszerzeniem może wywołać to zdarzenie, zapisując w pliku o nazwie równą identyfikatorowi rozszerzenia, który znajduje się w katalogu o nazwie WebAuthenticationProxyRemoteSessionStateChange
wewnątrz domyślnego katalogu danych użytkownika.
Zawartość pliku powinna być pusta. Oznacza to, że nie musisz zmieniać zawartości pliku, aby wywołać to zdarzenie.
Aplikacja hosta natywnego może używać tego mechanizmu zdarzeń, aby zasygnalizować możliwą zmianę stanu sesji zdalnej (np. z odłączenia od podłączonego lub na odwrót) w czasie, gdy skrypt usługi rozszerzenia może być zawieszony. Moduł obsługi tego zdarzenia może odpowiednio wywoływać metody interfejsu API attach()
lub detach()
.
Detektor zdarzeń musi być zarejestrowany synchronicznie podczas wczytywania.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:() => void
.
onRequestCanceled
chrome.webAuthenticationProxy.onRequestCanceled.addListener(
callback: function,
)
Uruchamiany po anulowaniu zdarzenia onCreateRequest
lub onGetRequest
(ponieważ żądanie WebAuthn zostało przerwane przez rozmówcę albo przekroczono limit czasu). Po otrzymaniu tego zdarzenia rozszerzenie powinno anulować przetwarzanie odpowiedniego żądania po stronie klienta. Rozszerzenia nie mogą zrealizować żądania, które zostało anulowane.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(requestId: number) => void
.-
requestId
liczba
-