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
Typen
CreateRequest
Attribute
-
requestDetailsJson
String
Das an
navigator.credentials.create()
übergebenePublicKeyCredentialCreationOptions
-Objekt, das als JSON-String serialisiert ist. Das Serialisierungsformat ist mitPublicKeyCredential.parseCreationOptionsFromJSON()
kompatibel. -
requestId
Zahl
Eine intransparente Kennung für die Anfrage.
CreateResponseDetails
Attribute
-
error
DOMExceptionDetails optional
Die
DOMException
, die von der Remote-Anfrage zurückgegeben wird, falls vorhanden. -
requestId
Zahl
Der
requestId
vonCreateRequest
. -
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()
übergebenePublicKeyCredentialRequestOptions
-Objekt, das als JSON-String serialisiert ist. Das Serialisierungsformat ist mitPublicKeyCredential.parseRequestOptionsFromJSON()
kompatibel. -
requestId
Zahl
Eine intransparente Kennung für die Anfrage.
GetResponseDetails
Attribute
-
error
DOMExceptionDetails optional
Die
DOMException
, die von der Remote-Anfrage zurückgegeben wird, falls vorhanden. -
requestId
Zahl
Der
requestId
vonCreateRequest
. -
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()
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.
Parameter
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(error?: string) => void
-
error
String optional
-
Rückgabe
-
Promise<string | undefined>
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()
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).
Parameter
-
Details
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Rückgabe
-
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()
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).
Parameter
-
Details
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Rückgabe
-
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()
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.
Parameter
-
Details
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Rückgabe
-
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()
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.
Parameter
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(error?: string) => void
-
error
String optional
-
Rückgabe
-
Promise<string | undefined>
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.
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 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.
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 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.
Parameter
-
callback
Funktion
Der Parameter
callback
sieht so aus:(requestId: number) => void
-
requestId
Zahl
-