Opis
Interfejs chrome.webAuthenticationProxy
API umożliwia oprogramowaniu pulpitu zdalnego działającemu 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
Wartość
PublicKeyCredentialCreationOptions
przekazana donavigator.credentials.create()
, zserializowana jako ciąg JSON. Format serializacji jest zgodny zPublicKeyCredential.parseCreationOptionsFromJSON()
. - requestId
liczba
Nieprzezroczysty identyfikator żądania.
CreateResponseDetails
Właściwości
- błąd
DOMExceptionDetails opcjonalnie
Wartość
DOMException
zwrócona przez żądanie zdalne (jeśli wystąpiła). - requestId
liczba
requestId
elementuCreateRequest
. - responseJson
string opcjonalny
Wartość
PublicKeyCredential
uzyskana w wyniku żądania zdalnego (jeśli występuje) zserializowana jako ciąg 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
Wartość
PublicKeyCredentialRequestOptions
przekazana donavigator.credentials.get()
, zserializowana jako ciąg JSON. Format serializacji jest zgodny zPublicKeyCredential.parseRequestOptionsFromJSON()
. - requestId
liczba
Nieprzezroczysty identyfikator żądania.
GetResponseDetails
Właściwości
- błąd
DOMExceptionDetails opcjonalnie
Wartość
DOMException
zwrócona przez żądanie zdalne (jeśli wystąpiła). - requestId
liczba
requestId
elementuCreateRequest
. - responseJson
string opcjonalny
Wartość
PublicKeyCredential
uzyskana w wyniku żądania zdalnego (jeśli występuje) zserializowana 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()
chrome.webAuthenticationProxy.attach(): Promise<string | undefined>
Ustawia to rozszerzenie jako aktywne 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 zwróci wartość bez błędu, 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 zwraca błąd.
Dołączone rozszerzenie musi wywołać funkcję detach()
po zakończeniu sesji pulpitu zdalnego, aby wznowić zwykłe przetwarzanie żądań WebAuthn. Rozszerzenia są automatycznie odłączane, jeśli zostaną zwolnione.
Zapoznaj się ze zdarzeniem onRemoteSessionStateChange
, które sygnalizuje zmianę załącznika sesji zdalnej z aplikacji natywnej na rozszerzenie (które może być zawieszone).
Zwroty
-
Promise<string | undefined>
completeCreateRequest()
chrome.webAuthenticationProxy.completeCreateRequest(
details: CreateResponseDetails,
): Promise<void>
Zwraca wynik wywołania navigator.credentials.create()
. Rozszerzenie musi wywoływać tę funkcję w przypadku każdego otrzymanego zdarzenia onCreateRequest
, chyba że żądanie zostało anulowane (w takim przypadku wywoływane jest zdarzenie onRequestCanceled
).
Parametry
- szczegóły
Zwroty
-
Promise<void>
completeGetRequest()
chrome.webAuthenticationProxy.completeGetRequest(
details: GetResponseDetails,
): Promise<void>
Zwraca wynik wywołania navigator.credentials.get()
. Rozszerzenie musi wywoływać tę funkcję w przypadku każdego otrzymanego zdarzenia onGetRequest
, chyba że żądanie zostało anulowane (w takim przypadku wywoływane jest zdarzenie onRequestCanceled
).
Parametry
- szczegóły
Zwroty
-
Promise<void>
completeIsUvpaaRequest()
chrome.webAuthenticationProxy.completeIsUvpaaRequest(
details: IsUvpaaResponseDetails,
): Promise<void>
Zwraca wynik wywołania PublicKeyCredential.isUserVerifyingPlatformAuthenticator()
. Rozszerzenie musi wywoływać tę funkcję dla każdego otrzymanego zdarzenia onIsUvpaaRequest
.
Parametry
- szczegóły
Zwroty
-
Promise<void>
detach()
chrome.webAuthenticationProxy.detach(): Promise<string | undefined>
Usuwa to rozszerzenie z listy aktywnych serwerów 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 wartość, rozszerzenie przestaje być aktywnym serwerem proxy żądań interfejsu Web Authentication API.
Zapoznaj się ze zdarzeniem onRemoteSessionStateChange
, które sygnalizuje zmianę załącznika sesji zdalnej z aplikacji natywnej na rozszerzenie (które może być zawieszone).
Zwroty
-
Promise<string | undefined>
Wydarzenia
onCreateRequest
chrome.webAuthenticationProxy.onCreateRequest.addListener(
callback: function,
)
Uruchamiane, gdy nastąpi wywołanie WebAuthn navigator.credentials.create()
. Rozszerzenie musi podać odpowiedź, wywołując funkcję completeCreateRequest()
z wartością requestId
z requestInfo
.
Parametry
- callback
funkcja
Parametr
callback
wygląda tak:(requestInfo: CreateRequest) => void
- requestInfo
-
onGetRequest
chrome.webAuthenticationProxy.onGetRequest.addListener(
callback: function,
)
Uruchamiane, gdy nastąpi wywołanie funkcji navigator.credentials.get() w WebAuthn. Rozszerzenie musi podać odpowiedź, wywołując funkcję completeGetRequest()
z wartością requestId
z requestInfo
.
Parametry
- callback
funkcja
Parametr
callback
wygląda tak:(requestInfo: GetRequest) => void
- requestInfo
-
onIsUvpaaRequest
chrome.webAuthenticationProxy.onIsUvpaaRequest.addListener(
callback: function,
)
Uruchamia się, gdy nastąpi połączenie PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()
. Rozszerzenie musi podać odpowiedź, wywołując funkcję completeIsUvpaaRequest()
z wartością requestId
z requestInfo
.
Parametry
- callback
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 katalogu o nazwie WebAuthenticationProxyRemoteSessionStateChange
w domyślnym katalogu danych użytkownika plik o nazwie równej identyfikatorowi rozszerzenia.
Zawartość pliku powinna być pusta. Oznacza to, że aby wywołać to zdarzenie, nie trzeba zmieniać zawartości pliku.
Natywna aplikacja hosta może używać tego mechanizmu zdarzeń do sygnalizowania możliwej zmiany stanu sesji zdalnej (np. z odłączonej na podłączoną lub odwrotnie), gdy proces roboczy usługi rozszerzenia jest prawdopodobnie zawieszony. W obsłudze tego zdarzenia rozszerzenie może wywoływać odpowiednio metody interfejsu API attach()
lub detach()
.
Detektor zdarzeń musi być zarejestrowany synchronicznie w momencie wczytywania.
Parametry
- callback
funkcja
Parametr
callback
wygląda tak:() => void
onRequestCanceled
chrome.webAuthenticationProxy.onRequestCanceled.addListener(
callback: function,
)
Uruchamia się, gdy zdarzenie onCreateRequest
lub onGetRequest
zostanie anulowane (ponieważ żądanie WebAuthn zostało przerwane przez wywołującego lub upłynął limit czasu). Po otrzymaniu tego zdarzenia rozszerzenie powinno anulować przetwarzanie odpowiedniego żądania po stronie klienta. Po anulowaniu prośby rozszerzenia nie mogą jej zrealizować.
Parametry
- callback
funkcja
Parametr
callback
wygląda tak:(requestId: number) => void
- requestId
liczba
-