chrome.webAuthenticationProxy

Beschreibung

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

Berechtigungen

webAuthenticationProxy

Verfügbarkeit

Chrome 115+ MV3+

Typen

CreateRequest

Attribute

  • requestDetailsJson

    String

    Die 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 von der Remote-Anfrage zurückgegebene DOMException-Wert, falls vorhanden.

  • requestId

    Zahl

    Die requestId der CreateRequest.

  • responseJson

    String optional

    Die PublicKeyCredential, die von der Remoteanfrage 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

    Die 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 von der Remote-Anfrage zurückgegebene DOMException-Wert, falls vorhanden.

  • requestId

    Zahl

    Die requestId der CreateRequest.

  • responseJson

    String optional

    Die PublicKeyCredential, die von der Remoteanfrage 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()

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

Macht diese Erweiterung zum aktiven Web Authentication API-Anfrage-Proxy.

Remote-Desktop-Erweiterungen rufen diese Methode in der Regel auf, nachdem sie erkannt haben, dass eine Remotesitzung 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 aus 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 ist, um die reguläre Verarbeitung von WebAuthn-Anfragen fortzusetzen. Erweiterungen werden automatisch getrennt, wenn sie entladen werden.

Verwenden Sie das onRemoteSessionStateChange-Ereignis, um eine Änderung der Remote-Sitzungsanhänge von einer nativen Anwendung zur (möglicherweise gesperrten) Erweiterung zu signalisieren.

Ausgabe

  • Promise<string | undefined>

completeCreateRequest()

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

Gibt das Ergebnis eines navigator.credentials.create()-Aufrufs zurück. Die Erweiterung muss diese Funktion 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()

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

Gibt das Ergebnis eines navigator.credentials.get()-Aufrufs zurück. Die Erweiterung muss diese Funktion 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()

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

Gibt das Ergebnis eines PublicKeyCredential.isUserVerifyingPlatformAuthenticator()-Aufrufs zurück. Die Erweiterung muss diese Funktion für jedes empfangene onIsUvpaaRequest-Ereignis aufrufen.

Parameter

Ausgabe

  • Promise<void>

detach()

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

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

Diese Methode wird in der Regel aufgerufen, wenn die Erweiterung erkennt, dass eine Remotedesktopsitzung beendet wurde. Sobald diese Methode zurückgegeben wird, ist die Erweiterung nicht mehr der aktive Web Authentication API-Anfrageproxy.

Verwenden Sie das onRemoteSessionStateChange-Ereignis, um eine Änderung der Remote-Sitzungsanhänge von einer nativen Anwendung zur (möglicherweise gesperrten) Erweiterung zu signalisieren.

Ausgabe

  • Promise<string | undefined>

Ereignisse

onCreateRequest

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

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

Parameter

onGetRequest

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

Wird ausgelöst, wenn ein WebAuthn-Aufruf von 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

chrome.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

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

Eine native Anwendung, die mit dieser Erweiterung verknüpft ist, kann dieses Ereignis auslösen, indem sie in ein Verzeichnis mit dem Namen WebAuthenticationProxyRemoteSessionStateChange im Standardverzeichnis für Nutzerdaten eine Datei mit einem Namen schreibt, der der ID der Erweiterung entspricht.

Die Datei sollte leer sein. Das heißt, es ist 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 Remote-Sitzung zu signalisieren (z.B. von „getrennt“ zu „angehängt“ oder umgekehrt), während der Service Worker der Erweiterung möglicherweise angehalten wird. Im Handler für dieses Ereignis kann die Erweiterung die API-Methoden attach() oder detach() aufrufen.

Der Event-Listener muss synchron beim Laden registriert werden.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    () => void

onRequestCanceled

chrome.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 ein Zeitlimit überschritten wurde). Beim Empfang dieses Ereignisses sollte die Erweiterung die Verarbeitung der entsprechenden Anfrage auf der Clientseite abbrechen. Erweiterungen können eine Anfrage nicht abschließen, nachdem sie abgebrochen wurde.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (requestId: number) => void

    • requestId

      Zahl