browser.webAuthenticationProxy

Beschreibung

Mit der chrome.webAuthenticationProxy API kann Remote-Desktop-Software, die auf einem Remote-Host ausgeführt wird, WebAuthn API-Anfragen (Web Authentication API) abfangen, um sie auf einem lokalen Client zu verarbeiten.

Berechtigungen

webAuthenticationProxy

Verfügbarkeit

Chrome 115+ browser.* seit Chrome 148 MV3+

Typen

CreateRequest

Attribute

  • requestDetailsJson

    String

    Der an navigator.credentials.create() übergebene PublicKeyCredentialCreationOptions, serialisiert als JSON-String. Das Serialisierungsformat ist mit PublicKeyCredential.parseCreationOptionsFromJSON() kompatibel.

  • requestId

    Zahl

    Eine intransparente Kennung für die Anfrage.

CreateResponseDetails

Attribute

  • Fehler

    Der DOMException, der von der Remote-Anfrage zurückgegeben wurde, falls vorhanden.

  • requestId

    Zahl

    Die requestId der CreateRequest.

  • responseJson

    String optional

    Die PublicKeyCredential, die von der Remote-Anfrage zurückgegeben wird, falls vorhanden, serialisiert als JSON-String durch Aufrufen von href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson"> PublicKeyCredential.toJSON().

DOMExceptionDetails

Attribute

  • Nachricht

    String

  • name

    String

GetRequest

Attribute

  • requestDetailsJson

    String

    Der an navigator.credentials.get() übergebene PublicKeyCredentialRequestOptions, serialisiert als JSON-String. Das Serialisierungsformat ist mit PublicKeyCredential.parseRequestOptionsFromJSON() kompatibel.

  • requestId

    Zahl

    Eine intransparente Kennung für die Anfrage.

GetResponseDetails

Attribute

  • Fehler

    Der DOMException, der von der Remote-Anfrage zurückgegeben wurde, falls vorhanden.

  • requestId

    Zahl

    Die requestId der CreateRequest.

  • responseJson

    String optional

    Die PublicKeyCredential, die von der Remote-Anfrage zurückgegeben wird, falls vorhanden, serialisiert als JSON-String durch Aufrufen von href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson"> PublicKeyCredential.toJSON().

IsUvpaaRequest

Attribute

  • requestId

    Zahl

    Eine intransparente Kennung für die Anfrage.

IsUvpaaResponseDetails

Attribute

  • isUvpaa

    boolean

  • requestId

    Zahl

Methoden

attach()

browser.webAuthenticationProxy.attach(): Promise<string | undefined>

Macht diese Erweiterung zum aktiven Web Authentication API-Anfrageproxy.

Remote-Desktop-Erweiterungen rufen diese Methode normalerweise auf, nachdem sie erkannt haben, dass eine Remote-Sitzung an diesen Host angehängt wurde. Sobald diese Methode ohne Fehler zurückgegeben wird, wird die reguläre Verarbeitung von WebAuthn-Anfragen ausgesetzt und Ereignisse von dieser Erweiterungs-API werden ausgelöst.

Diese Methode schlägt mit einem Fehler fehl, wenn bereits eine andere Erweiterung angehängt ist.

Die angehängte Erweiterung muss detach() aufrufen, sobald die Remotedesktopsitzung beendet wurde, um die reguläre Verarbeitung von WebAuthn-Anfragen fortzusetzen. Erweiterungen werden automatisch getrennt, wenn sie entladen werden.

Im Ereignis onRemoteSessionStateChange wird beschrieben, wie eine Änderung des Remote-Sitzungsanhangs von einer nativen Anwendung zur (möglicherweise gesperrten) Erweiterung signalisiert wird.

Ausgabe

  • Promise<string | undefined>

completeCreateRequest()

browser.webAuthenticationProxy.completeCreateRequest(
  details: CreateResponseDetails,
)
: Promise<void>

Meldet das Ergebnis eines navigator.credentials.create()-Aufrufs. Die Erweiterung muss dies für jedes empfangene onCreateRequest-Ereignis aufrufen, es sei denn, die Anfrage wurde abgebrochen. In diesem Fall wird ein onRequestCanceled-Ereignis ausgelöst.

Parameter

Ausgabe

  • Promise<void>

completeGetRequest()

browser.webAuthenticationProxy.completeGetRequest(
  details: GetResponseDetails,
)
: Promise<void>

Meldet das Ergebnis eines navigator.credentials.get()-Aufrufs. Die Erweiterung muss dies für jedes empfangene onGetRequest-Ereignis aufrufen, es sei denn, die Anfrage wurde abgebrochen. In diesem Fall wird ein onRequestCanceled-Ereignis ausgelöst.

Parameter

Ausgabe

  • Promise<void>

completeIsUvpaaRequest()

browser.webAuthenticationProxy.completeIsUvpaaRequest(
  details: IsUvpaaResponseDetails,
)
: Promise<void>

Meldet das Ergebnis eines PublicKeyCredential.isUserVerifyingPlatformAuthenticator()-Aufrufs. Die Erweiterung muss dies für jedes empfangene onIsUvpaaRequest-Ereignis aufrufen.

Parameter

Ausgabe

  • Promise<void>

detach()

browser.webAuthenticationProxy.detach(): Promise<string | undefined>

Entfernt diese Erweiterung als aktiven Proxy für Web Authentication API-Anfragen.

Diese Methode wird normalerweise aufgerufen, wenn die Erweiterung erkennt, dass eine Remote Desktop-Sitzung beendet wurde. Sobald diese Methode zurückgegeben wird, ist die Erweiterung nicht mehr der aktive Web Authentication API-Anfrage-Proxy.

Im Ereignis onRemoteSessionStateChange wird beschrieben, wie eine Änderung des Remote-Sitzungsanhangs von einer nativen Anwendung zur (möglicherweise gesperrten) Erweiterung signalisiert wird.

Ausgabe

  • Promise<string | undefined>

Ereignisse

onCreateRequest

browser.webAuthenticationProxy.onCreateRequest.addListener(
  callback: function,
)

Wird ausgelöst, wenn ein WebAuthn-navigator.credentials.create()-Aufruf erfolgt. Die Erweiterung muss eine Antwort liefern, indem sie completeCreateRequest() mit der requestId aus requestInfo aufruft.

Parameter

onGetRequest

browser.webAuthenticationProxy.onGetRequest.addListener(
  callback: function,
)

Wird ausgelöst, wenn ein WebAuthn-Aufruf „navigator.credentials.get()“ erfolgt. Die Erweiterung muss eine Antwort liefern, indem sie completeGetRequest() mit dem requestId aus requestInfo aufruft.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (requestInfo: GetRequest) => void

onIsUvpaaRequest

browser.webAuthenticationProxy.onIsUvpaaRequest.addListener(
  callback: function,
)

Wird ausgelöst, wenn ein PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()-Aufruf erfolgt. Die Erweiterung muss eine Antwort liefern, indem sie completeIsUvpaaRequest() mit dem requestId aus requestInfo aufruft.

Parameter

onRemoteSessionStateChange

browser.webAuthenticationProxy.onRemoteSessionStateChange.addListener(
  callback: function,
)

Eine mit dieser Erweiterung verknüpfte native Anwendung kann dieses Ereignis auslösen, indem sie in eine Datei mit einem Namen schreibt, der der ID der Erweiterung entspricht. Diese Datei muss sich in einem Verzeichnis mit dem Namen WebAuthenticationProxyRemoteSessionStateChange im Standardverzeichnis für Nutzerdaten befinden.

Der Inhalt der Datei sollte leer sein. Es ist also nicht erforderlich, den Inhalt der Datei zu ändern, um dieses Ereignis auszulösen.

Die native Hostanwendung kann diesen Ereignismechanismus verwenden, um eine mögliche Änderung des Status der Remotesitzung zu signalisieren (z.B. von „getrennt“ zu „verbunden“ oder umgekehrt), während der Service Worker der Erweiterung möglicherweise gesperrt ist. Im Handler für dieses Ereignis kann die Erweiterung die API-Methoden attach() oder detach() entsprechend aufrufen.

Der Event-Listener muss beim Laden synchron registriert werden.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    () => void

onRequestCanceled

browser.webAuthenticationProxy.onRequestCanceled.addListener(
  callback: function,
)

Wird ausgelöst, wenn ein onCreateRequest- oder onGetRequest-Ereignis abgebrochen wird (weil die WebAuthn-Anfrage vom Aufrufer abgebrochen wurde oder weil ein Zeitüberschreitungsfehler aufgetreten ist). Wenn die Erweiterung dieses Ereignis empfängt, sollte sie die Verarbeitung der entsprechenden Anfrage auf der Clientseite abbrechen. Erweiterungen können eine Anfrage nicht mehr ausführen, nachdem sie abgebrochen wurde.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (requestId: number) => void

    • requestId

      Zahl