chrome.webAuthenticationProxy

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ść

Chrome 115 lub nowszy MV3 lub nowszy

Typy

CreateRequest

Właściwości

  • requestDetailsJson

    ciąg znaków

    Wartość PublicKeyCredentialCreationOptions przekazana do navigator.credentials.create(), zserializowana jako ciąg JSON. Format serializacji jest zgodny z PublicKeyCredential.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 elementu CreateRequest.

  • 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 do navigator.credentials.get(), zserializowana jako ciąg JSON. Format serializacji jest zgodny z PublicKeyCredential.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 elementu CreateRequest.

  • 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

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

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

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ą requestIdrequestInfo.

Parametry

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ą requestIdrequestInfo.

Parametry

  • callback

    funkcja

    Parametr callback wygląda tak:

    (requestInfo: GetRequest) => void

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ą requestIdrequestInfo.

Parametry

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 WebAuthenticationProxyRemoteSessionStateChangedomyś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