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
webAuthenticationProxyVerfügbarkeit
Typen
CreateRequest
Attribute
-
requestDetailsJson
String
Der an
navigator.credentials.create()übergebenePublicKeyCredentialCreationOptions, serialisiert als JSON-String. Das Serialisierungsformat ist mitPublicKeyCredential.parseCreationOptionsFromJSON()kompatibel. -
requestId
Zahl
Eine intransparente Kennung für die Anfrage.
CreateResponseDetails
Attribute
-
Fehler
DOMExceptionDetails optional
Der
DOMException, der von der Remote-Anfrage zurückgegeben wurde, falls vorhanden. -
requestId
Zahl
Die
requestIdderCreateRequest. -
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()übergebenePublicKeyCredentialRequestOptions, serialisiert als JSON-String. Das Serialisierungsformat ist mitPublicKeyCredential.parseRequestOptionsFromJSON()kompatibel. -
requestId
Zahl
Eine intransparente Kennung für die Anfrage.
GetResponseDetails
Attribute
-
Fehler
DOMExceptionDetails optional
Der
DOMException, der von der Remote-Anfrage zurückgegeben wurde, falls vorhanden. -
requestId
Zahl
Die
requestIdderCreateRequest. -
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
-
Details
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
-
Details
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
-
Details
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
-
callback
Funktion
Der Parameter
callbacksieht so aus:(requestInfo: CreateRequest) => void
-
requestInfo
-
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
callbacksieht so aus:(requestInfo: GetRequest) => void
-
requestInfo
-
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
-
callback
Funktion
Der Parameter
callbacksieht so aus:(requestInfo: IsUvpaaRequest) => void
-
requestInfo
-
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
callbacksieht 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
callbacksieht so aus:(requestId: number) => void
-
requestId
Zahl
-