chrome.webAuthenticationProxy

Beschreibung

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

Berechtigungen

webAuthenticationProxy

Verfügbarkeit

Chrome 115+ MV3+

Typen

CreateRequest

Attribute

  • requestDetailsJson

    String

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

  • requestId

    Zahl

    Eine intransparente Kennung für die Anfrage.

CreateResponseDetails

Attribute

  • error

    Die DOMException, die von der Remote-Anfrage zurückgegeben wird, falls vorhanden.

  • requestId

    Zahl

    Der requestId von CreateRequest.

  • responseJson

    String optional

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

DOMExceptionDetails

Attribute

  • Nachricht

    String

  • name

    String

GetRequest

Attribute

  • requestDetailsJson

    String

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

  • requestId

    Zahl

    Eine intransparente Kennung für die Anfrage.

GetResponseDetails

Attribute

  • error

    Die DOMException, die von der Remote-Anfrage zurückgegeben wird, falls vorhanden.

  • requestId

    Zahl

    Der requestId von CreateRequest.

  • responseJson

    String optional

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

IsUvpaaRequest

Attribute

  • requestId

    Zahl

    Eine intransparente Kennung für die Anfrage.

IsUvpaaResponseDetails

Attribute

  • isUvpaa

    boolean

  • requestId

    Zahl

Methoden

attach()

Versprechen
chrome.webAuthenticationProxy.attach(
  callback?: function,
)

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

Remote Desktop-Erweiterungen rufen diese Methode normalerweise auf, nachdem der Anhang einer Remote-Sitzung an diesen Host erkannt wurde. Wenn diese Methode ohne Fehler zurückgegeben wird, wird die reguläre Verarbeitung von WebAuthn-Anfragen ausgesetzt und Ereignisse von dieser Erweiterungs-API ausgelöst.

Bei dieser Methode wird ein Fehler ausgegeben, wenn bereits eine andere Erweiterung angehängt wurde.

Die angehängte Erweiterung muss detach() aufrufen, nachdem die Remote Desktop-Sitzung beendet wurde. Nur so kann die normale WebAuthn-Anfrageverarbeitung fortgesetzt werden. Erweiterungen werden beim Entfernen automatisch getrennt.

Sehen Sie sich das Ereignis onRemoteSessionStateChange an, um eine Änderung des Remote-Sitzungsanhangs von einer nativen Anwendung zur (möglicherweise ausgesetzten) Erweiterung zu signalisieren.

Parameters

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    (error?: string)=>void

    • error

      String optional

Rückgaben

  • Versprechen<string|undefiniert>

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.

completeCreateRequest()

Versprechen
chrome.webAuthenticationProxy.completeCreateRequest(
  details: CreateResponseDetails,
  callback?: function,
)

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

Parameters

Rückgaben

  • Promise<void>

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.

completeGetRequest()

Versprechen
chrome.webAuthenticationProxy.completeGetRequest(
  details: GetResponseDetails,
  callback?: function,
)

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

Parameters

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    ()=>void

Rückgaben

  • Promise<void>

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.

completeIsUvpaaRequest()

Versprechen
chrome.webAuthenticationProxy.completeIsUvpaaRequest(
  details: IsUvpaaResponseDetails,
  callback?: function,
)

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

Parameters

Rückgaben

  • Promise<void>

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.

detach()

Versprechen
chrome.webAuthenticationProxy.detach(
  callback?: function,
)

Entfernt diese Erweiterung als aktiver Web Authentication API-Anfrage-Proxy.

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.

Sehen Sie sich das Ereignis onRemoteSessionStateChange an, um eine Änderung des Remote-Sitzungsanhangs von einer nativen Anwendung zur (möglicherweise ausgesetzten) Erweiterung zu signalisieren.

Parameters

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    (error?: string)=>void

    • error

      String optional

Rückgaben

  • Versprechen<string|undefiniert>

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.

Veranstaltungen

onCreateRequest

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

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

Parameters

onGetRequest

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

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

Parameters

  • 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 bereitstellen, indem sie completeIsUvpaaRequest() mit dem requestId von requestInfo aufruft.

Parameters

onRemoteSessionStateChange

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

Eine native Anwendung, die mit dieser Erweiterung verknüpft ist, kann dazu führen, dass dieses Ereignis ausgelöst wird. Dazu schreibt sie in eine Datei mit einem Namen, der der ID der Erweiterung entspricht, in ein Verzeichnis namens WebAuthenticationProxyRemoteSessionStateChange innerhalb des Standardverzeichnisses für Nutzerdaten.

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 Host-Anwendung kann diesen Ereignismechanismus verwenden, um eine mögliche Statusänderung der Remote-Sitzung zu signalisieren (z.B. von getrennt zu angehängt 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 zum Zeitpunkt des Ladevorgangs synchron registriert werden.

Parameters

  • 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 eine Zeitüberschreitung aufgetreten ist). Beim Empfang dieses Ereignisses sollte die Erweiterung die Verarbeitung der entsprechenden Anfrage auf Clientseite abbrechen. Anfragen, die storniert wurden, können von Erweiterungen nicht mehr verarbeitet werden.

Parameters

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (requestId: number)=>void

    • requestId

      Zahl