Opis
Interfejs chrome.webAuthenticationProxy
API pozwala oprogramowaniu pulpitu zdalnego na hoście zdalnym na 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
string,
Obiekt
PublicKeyCredentialCreationOptions
przekazany donavigator.credentials.create()
, zserializowany jako ciąg znaków JSON. Format serializacji jest zgodny zPublicKeyCredential.parseCreationOptionsFromJSON()
. -
requestId
Liczba
Nieprzejrzysty identyfikator żądania.
CreateResponseDetails
Właściwości
-
error
DOMExceptionDetails opcjonalne
Wartość
DOMException
wywołana przez żądanie zdalne (jeśli występuje). -
requestId
Liczba
Wartość
requestId
kolumnyCreateRequest
. -
responseJson
ciąg znaków opcjonalny
Element
PublicKeyCredential
wygenerowany przez żądanie zdalne (jeśli występuje) zserializowany 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ść
string,
-
nazwa
string,
GetRequest
Właściwości
-
requestDetailsJson
string,
Obiekt
PublicKeyCredentialRequestOptions
przekazany donavigator.credentials.get()
, zserializowany jako ciąg znaków JSON. Format serializacji jest zgodny zPublicKeyCredential.parseRequestOptionsFromJSON()
. -
requestId
Liczba
Nieprzejrzysty identyfikator żądania.
GetResponseDetails
Właściwości
-
error
DOMExceptionDetails opcjonalne
Wartość
DOMException
wywołana przez żądanie zdalne (jeśli występuje). -
requestId
Liczba
Wartość
requestId
kolumnyCreateRequest
. -
responseJson
ciąg znaków opcjonalny
Element
PublicKeyCredential
wygenerowany przez żądanie zdalne (jeśli występuje) zserializowany 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
boolean
-
requestId
Liczba
Metody
attach()
chrome.webAuthenticationProxy.attach(
callback?: function,
)
Ustawia to rozszerzenie jako aktywny serwer proxy żądań do interfejsu Web Authentication API.
Rozszerzenia pulpitu zdalnego zwykle wywołują tę metodę po wykryciu dołączenia sesji zdalnej do tego hosta. Gdy ta metoda wróci bez błędów, regularne przetwarzanie żądań WebAuthn zostanie zawieszone, a zdarzenia z tego interfejsu API rozszerzenia zostaną wywołane.
Jeśli jest już dołączone inne rozszerzenie, ta metoda kończy się błędem.
Aby można było wznowić zwykłe przetwarzanie żądań WebAuthn, dołączone rozszerzenie musi wywołać metodę detach()
po zakończeniu sesji pulpitu zdalnego. Rozszerzenia automatycznie odłączają się po wyładowaniu z pamięci.
Zwróć uwagę na zdarzenie onRemoteSessionStateChange
, aby sygnalizować zmianę przyłącza sesji zdalnej z aplikacji natywnej na rozszerzenie (prawdopodobnie zawieszone).
Parametry
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(error?: string) => void
-
error
ciąg znaków opcjonalny
-
Zwroty
-
Promise<string | undefined>
Obietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.
completeCreateRequest()
chrome.webAuthenticationProxy.completeCreateRequest(
details: CreateResponseDetails,
callback?: function,
)
Zgłasza wynik połączenia w usłudze navigator.credentials.create()
. Rozszerzenie musi wywoływać tę metodę w przypadku każdego otrzymanego zdarzenia onCreateRequest
, chyba że żądanie zostało anulowane (w takim przypadku wywoływane jest zdarzenie onRequestCanceled
).
Parametry
-
szczegóły
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:() => void
Zwroty
-
Promise<void>
Obietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.
completeGetRequest()
chrome.webAuthenticationProxy.completeGetRequest(
details: GetResponseDetails,
callback?: function,
)
Zgłasza wynik połączenia w usłudze navigator.credentials.get()
. Rozszerzenie musi wywoływać tę metodę w przypadku każdego otrzymanego zdarzenia onGetRequest
, chyba że żądanie zostało anulowane (w takim przypadku wywoływane jest zdarzenie onRequestCanceled
).
Parametry
-
szczegóły
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:() => void
Zwroty
-
Promise<void>
Obietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.
completeIsUvpaaRequest()
chrome.webAuthenticationProxy.completeIsUvpaaRequest(
details: IsUvpaaResponseDetails,
callback?: function,
)
Zgłasza wynik połączenia w usłudze PublicKeyCredential.isUserVerifyingPlatformAuthenticator()
. Rozszerzenie musi wywoływać tę metodę dla każdego odebranego zdarzenia onIsUvpaaRequest
.
Parametry
-
szczegóły
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:() => void
Zwroty
-
Promise<void>
Obietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.
detach()
chrome.webAuthenticationProxy.detach(
callback?: function,
)
Usuwa to rozszerzenie, aby nie było aktywnym serwerem proxy żądań do interfejsu Web Authentication API.
Ta metoda jest zwykle wywoływana po wykryciu przez rozszerzenie o zakończeniu sesji pulpitu zdalnego. Po zwróceniu tej metody rozszerzenie przestaje być aktywnym serwerem proxy żądań do interfejsu Web Authentication API.
Zwróć uwagę na zdarzenie onRemoteSessionStateChange
, aby sygnalizować zmianę przyłącza sesji zdalnej z aplikacji natywnej na rozszerzenie (prawdopodobnie zawieszone).
Parametry
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(error?: string) => void
-
error
ciąg znaków opcjonalny
-
Zwroty
-
Promise<string | undefined>
Obietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.
Wydarzenia
onCreateRequest
chrome.webAuthenticationProxy.onCreateRequest.addListener(
callback: function,
)
Uruchamiany po wywołaniu navigator.credentials.create()
WebAuthn. Rozszerzenie musi odpowiedzieć, wywołując completeCreateRequest()
z operatorem 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 wywołaniu WebAuthn navigator.credentials.get(). Rozszerzenie musi odpowiedzieć, wywołując completeGetRequest()
z operatorem requestId
z 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 odpowiedzieć, wywołując completeIsUvpaaRequest()
z operatorem requestId
z requestInfo
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(requestInfo: IsUvpaaRequest) => void
-
requestInfo
-
onRemoteSessionStateChange
chrome.webAuthenticationProxy.onRemoteSessionStateChange.addListener(
callback: function,
)
Natywna aplikacja powiązana z tym rozszerzeniem może powodować wywoływanie tego zdarzenia, zapisując plik o nazwie takiej samej jak identyfikator rozszerzenia w katalogu o nazwie WebAuthenticationProxyRemoteSessionStateChange
wewnątrz domyślnego katalogu danych użytkownika.
Zawartość pliku powinna być pusta. To znaczy, że do wywołania tego zdarzenia nie jest konieczna zmiana zawartości pliku.
Aplikacja hosta natywnego może używać tego mechanizmu zdarzeń, aby zasygnalizować możliwą zmianę stanu sesji zdalnej (np. z odłączenia w podłączony lub odwrotnie), gdy skrypt service worker rozszerzenia jest prawdopodobnie zawieszony. W module obsługi tego zdarzenia rozszerzenie może odpowiednio wywoływać metody interfejsu API attach()
lub detach()
.
Detektor zdarzeń musi być zarejestrowany synchronicznie w czasie wczytywania.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:() => void
onRequestCanceled
chrome.webAuthenticationProxy.onRequestCanceled.addListener(
callback: function,
)
Uruchamiany, gdy zdarzenie onCreateRequest
lub onGetRequest
zostanie anulowane (ponieważ żądanie WebAuthn zostało przerwane przez element wywołujący lub 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
-