Opis
Interfejs API chrome.webAuthenticationProxy umożliwia oprogramowaniu pulpitu zdalnego działającemu na hoście zdalnym przechwytywanie żądań do interfejsu Web Authentication API (WebAuthn) w celu ich obsługi na kliencie lokalnym.
Uprawnienia
webAuthenticationProxyDostępność
Typy
CreateRequest
Właściwości
-
requestDetailsJson
tekst
PublicKeyCredentialCreationOptionsprzekazany donavigator.credentials.create(), zserializowany jako ciąg JSON. Format serializacji jest zgodny zPublicKeyCredential.parseCreationOptionsFromJSON(). -
requestId
liczba
Nieprzezroczysty identyfikator żądania.
CreateResponseDetails
Właściwości
-
błąd
DOMExceptionDetails opcjonalny
DOMExceptionuzyskany w wyniku żądania zdalnego (jeśli występuje). -
requestId
liczba
requestIdelementuCreateRequest. -
responseJson
ciąg znaków opcjonalny
PublicKeyCredential, który został zwrócony przez żądanie zdalne (jeśli istnieje), zserializowany jako ciąg JSON przez wywołanie href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson">PublicKeyCredential.toJSON().
DOMExceptionDetails
Właściwości
-
wiadomość
tekst
-
nazwa
tekst
GetRequest
Właściwości
-
requestDetailsJson
tekst
PublicKeyCredentialRequestOptionsprzekazany donavigator.credentials.get(), zserializowany jako ciąg JSON. Format serializacji jest zgodny zPublicKeyCredential.parseRequestOptionsFromJSON(). -
requestId
liczba
Nieprzezroczysty identyfikator żądania.
GetResponseDetails
Właściwości
-
błąd
DOMExceptionDetails opcjonalny
DOMExceptionuzyskany w wyniku żądania zdalnego (jeśli występuje). -
requestId
liczba
requestIdelementuCreateRequest. -
responseJson
ciąg znaków opcjonalny
PublicKeyCredential, który został zwrócony przez żądanie zdalne (jeśli istnieje), zserializowany jako ciąg JSON przez wywołanie href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson">PublicKeyCredential.toJSON().
IsUvpaaRequest
Właściwości
-
requestId
liczba
Nieprzezroczysty identyfikator żądania.
IsUvpaaResponseDetails
Właściwości
-
isUvpaa
wartość logiczna
-
requestId
liczba
Metody
attach()
browser.webAuthenticationProxy.attach(): Promise<string | undefined>
Ustawia to rozszerzenie jako aktywny serwer proxy żądań do interfejsu Web Authentication API.
Rozszerzenia pulpitu zdalnego zwykle wywołują tę metodę po wykryciu podłączenia sesji zdalnej do tego hosta. Gdy ta metoda zwróci wynik bez błędu, regularne przetwarzanie żądań WebAuthn zostanie zawieszone i będą wywoływane zdarzenia z tego interfejsu API rozszerzenia.
Jeśli inne rozszerzenie jest już dołączone, ta metoda kończy się błędem.
Po zakończeniu sesji pulpitu zdalnego dołączone rozszerzenie musi wywołać detach(), aby wznowić regularne przetwarzanie żądań WebAuthn. Rozszerzenia są automatycznie odłączane, gdy zostaną wyładowane.
Zdarzenie onRemoteSessionStateChange sygnalizuje zmianę załącznika sesji zdalnej z aplikacji natywnej na (być może zawieszone) rozszerzenie.
Zwroty
-
Promise<string | undefined>
completeCreateRequest()
browser.webAuthenticationProxy.completeCreateRequest(
details: CreateResponseDetails,
): Promise<void>
Zgłasza wynik wywołania navigator.credentials.create(). Rozszerzenie musi wywołać tę metodę dla każdego otrzymanego zdarzenia onCreateRequest, chyba że żądanie zostało anulowane (w takim przypadku wywoływane jest zdarzenie onRequestCanceled).
Parametry
-
szczegóły
Zwroty
-
thought Promise<void>
completeGetRequest()
browser.webAuthenticationProxy.completeGetRequest(
details: GetResponseDetails,
): Promise<void>
Zgłasza wynik wywołania navigator.credentials.get(). Rozszerzenie musi wywołać tę metodę dla każdego otrzymanego zdarzenia onGetRequest, chyba że żądanie zostało anulowane (w takim przypadku wywoływane jest zdarzenie onRequestCanceled).
Parametry
-
szczegóły
Zwroty
-
thought Promise<void>
completeIsUvpaaRequest()
browser.webAuthenticationProxy.completeIsUvpaaRequest(
details: IsUvpaaResponseDetails,
): Promise<void>
Zgłasza wynik wywołania PublicKeyCredential.isUserVerifyingPlatformAuthenticator(). Rozszerzenie musi wywołać tę funkcję dla każdego otrzymanego zdarzenia onIsUvpaaRequest.
Parametry
-
szczegóły
Zwroty
-
thought Promise<void>
detach()
browser.webAuthenticationProxy.detach(): Promise<string | undefined>
Usuwa to rozszerzenie jako aktywny serwer proxy żądań do interfejsu Web Authentication API.
Ta metoda jest zwykle wywoływana, gdy rozszerzenie wykryje, że sesja pulpitu zdalnego została zakończona. Gdy ta metoda zwróci wynik, rozszerzenie przestanie być aktywnym serwerem proxy żądań do interfejsu Web Authentication API.
Zdarzenie onRemoteSessionStateChange sygnalizuje zmianę załącznika sesji zdalnej z aplikacji natywnej na (być może zawieszone) rozszerzenie.
Zwroty
-
Promise<string | undefined>
Wydarzenia
onCreateRequest
browser.webAuthenticationProxy.onCreateRequest.addListener(
callback: function,
)
Uruchamia się, gdy następuje wywołanie WebAuthn navigator.credentials.create(). Rozszerzenie musi dostarczyć odpowiedź, wywołując completeCreateRequest() z requestId z requestInfo.
Parametry
-
callback
funkcja
Parametr
callbackwygląda tak:(requestInfo: CreateRequest) => void
-
requestInfo
-
onGetRequest
browser.webAuthenticationProxy.onGetRequest.addListener(
callback: function,
)
Uruchamia się, gdy następuje wywołanie WebAuthn navigator.credentials.get(). Rozszerzenie musi dostarczyć odpowiedź, wywołując completeGetRequest() z requestId z requestInfo
Parametry
-
callback
funkcja
Parametr
callbackwygląda tak:(requestInfo: GetRequest) => void
-
requestInfo
-
onIsUvpaaRequest
browser.webAuthenticationProxy.onIsUvpaaRequest.addListener(
callback: function,
)
Uruchamia się, gdy następuje wywołanie PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable(). Rozszerzenie musi dostarczyć odpowiedź, wywołując completeIsUvpaaRequest() z requestId z requestInfo
Parametry
-
callback
funkcja
Parametr
callbackwygląda tak:(requestInfo: IsUvpaaRequest) => void
-
requestInfo
-
onRemoteSessionStateChange
browser.webAuthenticationProxy.onRemoteSessionStateChange.addListener(
callback: function,
)
Aplikacja natywna powiązana z tym rozszerzeniem może spowodować wywołanie tego zdarzenia przez zapisanie pliku o nazwie równej identyfikatorowi rozszerzenia w katalogu o nazwie WebAuthenticationProxyRemoteSessionStateChange w domyślnym katalogu danych użytkownika.
Plik powinien być pusty. Oznacza to, że nie trzeba zmieniać zawartości pliku, aby wywołać to zdarzenie.
Aplikacja hostowana natywnie może używać tego mechanizmu zdarzeń do sygnalizowania możliwej zmiany stanu sesji zdalnej (np. z odłączonej na dołączoną lub odwrotnie), gdy skrypt service worker rozszerzenia jest zawieszony. W programie obsługi tego zdarzenia rozszerzenie może wywołać odpowiednio metody interfejsu API attach() lub detach().
Detektor zdarzeń musi być zarejestrowany synchronicznie w momencie wczytywania.
Parametry
-
callback
funkcja
Parametr
callbackwygląda tak:() => void
onRequestCanceled
browser.webAuthenticationProxy.onRequestCanceled.addListener(
callback: function,
)
Uruchamia się, gdy zdarzenie onCreateRequest lub onGetRequest zostanie anulowane (ponieważ żądanie WebAuthn zostało przerwane przez element wywołujący lub upłynął limit czasu). Po otrzymaniu tego zdarzenia rozszerzenie powinno anulować przetwarzanie odpowiedniego żądania po stronie klienta. Rozszerzenia nie mogą zrealizować prośby, która została anulowana.
Parametry
-
callback
funkcja
Parametr
callbackwygląda tak:(requestId: number) => void
-
requestId
liczba
-