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
, 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 von der Remote-Anfrage zurückgegebene
DOMException
-Wert, falls vorhanden. -
requestId
Zahl
Die
requestId
derCreateRequest
. -
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()
ü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 von der Remote-Anfrage zurückgegebene
DOMException
-Wert, falls vorhanden. -
requestId
Zahl
Die
requestId
derCreateRequest
. -
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
-
Details
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
-
Details
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
-
Details
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
-
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 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
-
requestInfo
-
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
-
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 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
-