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
Typen
CreateRequest
Attribute
-
requestDetailsJson
String
Die an
navigator.credentials.create()
übergebenePublicKeyCredentialCreationOptions
-Datei, serialisiert als JSON-String. Das Serialisierungsformat ist mitPublicKeyCredential.parseCreationOptionsFromJSON()
kompatibel. -
requestId
Zahl
Eine intransparente Kennung für die Anfrage.
CreateResponseDetails
Attribute
-
Fehler
DOMExceptionDetails optional
Die von der Remote-Anfrage zurückgegebene
DOMException
(sofern vorhanden). -
requestId
Zahl
Die
requestId
vonCreateRequest
. -
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
Die an
navigator.credentials.get()
übergebenePublicKeyCredentialRequestOptions
-Datei, serialisiert als JSON-String. Das Serialisierungsformat ist mitPublicKeyCredential.parseRequestOptionsFromJSON()
kompatibel. -
requestId
Zahl
Eine intransparente Kennung für die Anfrage.
GetResponseDetails
Attribute
-
Fehler
DOMExceptionDetails optional
Die von der Remote-Anfrage zurückgegebene
DOMException
(sofern vorhanden). -
requestId
Zahl
Die
requestId
vonCreateRequest
. -
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()
chrome.webAuthenticationProxy.attach(
callback?: function,
)
Macht diese Erweiterung zum aktiven Web Authentication API-Anfrageproxy.
Remote Desktop-Erweiterungen rufen diese Methode in der Regel auf, nachdem erkannt wurde, dass eine Remotesitzung an diesen Host angehängt wird. Sobald diese Methode ohne Fehler zurückgegeben wird, wird die reguläre Verarbeitung von WebAuthn-Anfragen ausgesetzt und Ereignisse von dieser Erweiterungs-API ausgelöst.
Diese Methode schlägt mit einem Fehler fehl, wenn bereits eine andere Erweiterung angehängt ist.
Die angehängte Erweiterung muss nach Ende der Remote Desktop-Sitzung detach()
aufrufen, damit die reguläre WebAuthn-Anfrageverarbeitung fortgesetzt werden kann. Erweiterungen werden beim Entladen automatisch getrennt.
Sehen Sie sich das Ereignis onRemoteSessionStateChange
an, um zu signalisieren, dass der Anhang einer Remotesitzung von einer nativen Anwendung auf die (möglicherweise gesperrte) Erweiterung umgestellt wird.
Parameter
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(error?: string) => void
-
Fehler
String optional
-
Returns
-
Promise<string | nicht definiert>
Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.
completeCreateRequest()
chrome.webAuthenticationProxy.completeCreateRequest(
details: CreateResponseDetails,
callback?: function,
)
Meldet das Ergebnis eines navigator.credentials.create()
-Aufrufs. 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
-
Details
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Returns
-
Versprechen<void>
Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.
completeGetRequest()
chrome.webAuthenticationProxy.completeGetRequest(
details: GetResponseDetails,
callback?: function,
)
Meldet das Ergebnis eines navigator.credentials.get()
-Aufrufs. 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
-
Details
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Returns
-
Versprechen<void>
Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.
completeIsUvpaaRequest()
chrome.webAuthenticationProxy.completeIsUvpaaRequest(
details: IsUvpaaResponseDetails,
callback?: function,
)
Meldet das Ergebnis eines PublicKeyCredential.isUserVerifyingPlatformAuthenticator()
-Aufrufs. Die Erweiterung muss diese Funktion für jedes empfangene onIsUvpaaRequest
-Ereignis aufrufen.
Parameter
-
Details
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Returns
-
Versprechen<void>
Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.
detach()
chrome.webAuthenticationProxy.detach(
callback?: function,
)
Entfernt diese Erweiterung aus dem aktiven Web Authentication API-Anfrageproxy.
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-Anfrageproxy.
Sehen Sie sich das Ereignis onRemoteSessionStateChange
an, um zu signalisieren, dass der Anhang einer Remotesitzung von einer nativen Anwendung auf die (möglicherweise gesperrte) Erweiterung umgestellt wird.
Parameter
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(error?: string) => void
-
Fehler
String optional
-
Returns
-
Promise<string | nicht definiert>
Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.
Ereignisse
onCreateRequest
chrome.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 dem requestId
von requestInfo
aufruft.
Parameter
-
callback
Funktion
Der Parameter
callback
sieht so aus:(requestInfo: CreateRequest) => void
-
requestInfo
-
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.
Parameter
-
callback
Funktion
Der Parameter
callback
sieht so aus:(requestInfo: GetRequest) => void
-
requestInfo
-
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.
Parameter
-
callback
Funktion
Der Parameter
callback
sieht so aus:(requestInfo: IsUvpaaRequest) => void
-
requestInfo
-
onRemoteSessionStateChange
chrome.webAuthenticationProxy.onRemoteSessionStateChange.addListener(
callback: function,
)
Eine native Anwendung, die mit dieser Erweiterung verknüpft ist, kann bewirken, dass dieses Ereignis ausgelöst wird, indem in eine Datei geschrieben wird, deren Name dem der ID der Erweiterung entspricht. Diese Datei befindet sich in einem 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 Änderung des Remote-Sitzungsstatus zu signalisieren (z.B. von getrennt zu angehängt oder umgekehrt), während der Erweiterungs-Service-Worker 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.
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 weil eine Zeitüberschreitung aufgetreten ist). Wenn dieses Ereignis empfangen wird, sollte die Erweiterung die Verarbeitung der entsprechenden Anfrage auf Clientseite abbrechen. Eine Anfrage kann nach dem Stornieren nicht mehr ausgeführt werden.
Parameter
-
callback
Funktion
Der Parameter
callback
sieht so aus:(requestId: number) => void
-
requestId
Zahl
-