Descrizione
L'API chrome.webAuthenticationProxy
consente al software Remote Desktop eseguito su un host remoto di intercettare le richieste dell'API Web Authenticationn (WebAuthn) per gestirle su un client locale.
Autorizzazioni
webAuthenticationProxy
Disponibilità
Tipi
CreateRequest
Proprietà
-
requestDetailsJson
stringa
Il valore
PublicKeyCredentialCreationOptions
passato anavigator.credentials.create()
, serializzato come stringa JSON. Il formato di serializzazione è compatibile conPublicKeyCredential.parseCreationOptionsFromJSON()
. -
requestId
numero
Un identificatore opaco per la richiesta.
CreateResponseDetails
Proprietà
-
errore
Facoltativo DOMExceptionDetails
L'elemento
DOMException
fornito dalla richiesta remota, se presente. -
requestId
numero
requestId
diCreateRequest
. -
responseJson
stringa facoltativo
Il
PublicKeyCredential
, restituito dall'eventuale richiesta remota, serializzato come stringa JSON chiamando href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson">PublicKeyCredential.toJSON()
.
DOMExceptionDetails
Proprietà
-
messaggio
stringa
-
nome
stringa
GetRequest
Proprietà
-
requestDetailsJson
stringa
Il valore
PublicKeyCredentialRequestOptions
passato anavigator.credentials.get()
, serializzato come stringa JSON. Il formato di serializzazione è compatibile conPublicKeyCredential.parseRequestOptionsFromJSON()
. -
requestId
numero
Un identificatore opaco per la richiesta.
GetResponseDetails
Proprietà
-
errore
Facoltativo DOMExceptionDetails
L'elemento
DOMException
fornito dalla richiesta remota, se presente. -
requestId
numero
requestId
diCreateRequest
. -
responseJson
stringa facoltativo
Il
PublicKeyCredential
, restituito dall'eventuale richiesta remota, serializzato come stringa JSON chiamando href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson">PublicKeyCredential.toJSON()
.
IsUvpaaRequest
Proprietà
-
requestId
numero
Un identificatore opaco per la richiesta.
IsUvpaaResponseDetails
Proprietà
-
isUvpaa
boolean
-
requestId
numero
Metodi
attach()
chrome.webAuthenticationProxy.attach(
callback?: function,
)
Imposta questa estensione come proxy di richiesta dell'API Web Authentication attivo.
Le estensioni Remote Desktop in genere chiamano questo metodo dopo aver rilevato l'allegato di una sessione remota a questo host. Quando questo metodo viene restituito senza errori, la normale elaborazione delle richieste WebAuthn viene sospesa e gli eventi provenienti da questa API di estensione vengono generati.
Questo metodo non va a buon fine e viene generato un errore se è già collegata un'estensione diversa.
Al termine della sessione di desktop remoto, l'estensione allegata deve chiamare detach()
per riprendere l'elaborazione regolare delle richieste WebAuthn. Le estensioni vengono scollegate automaticamente se viene eseguito l'unload.
Fai riferimento all'evento onRemoteSessionStateChange
per segnalare una modifica del collegamento della sessione remota da un'applicazione nativa all'estensione (possibilmente sospesa).
Parametri
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(error?: string) => void
-
errore
stringa facoltativo
-
Ritorni
-
Promise<string | undefined>
Le promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.
completeCreateRequest()
chrome.webAuthenticationProxy.completeCreateRequest(
details: CreateResponseDetails,
callback?: function,
)
Segnala il risultato di una chiamata al numero navigator.credentials.create()
. L'estensione deve chiamare questa funzione per ogni evento onCreateRequest
ricevuto, a meno che la richiesta non sia stata annullata (in questo caso viene attivato un evento onRequestCanceled
).
Parametri
-
dettagli
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Ritorni
-
Promise<void>
Le promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.
completeGetRequest()
chrome.webAuthenticationProxy.completeGetRequest(
details: GetResponseDetails,
callback?: function,
)
Segnala il risultato di una chiamata al numero navigator.credentials.get()
. L'estensione deve chiamare questa funzione per ogni evento onGetRequest
ricevuto, a meno che la richiesta non sia stata annullata (in questo caso viene attivato un evento onRequestCanceled
).
Parametri
-
dettagli
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Ritorni
-
Promise<void>
Le promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.
completeIsUvpaaRequest()
chrome.webAuthenticationProxy.completeIsUvpaaRequest(
details: IsUvpaaResponseDetails,
callback?: function,
)
Segnala il risultato di una chiamata al numero PublicKeyCredential.isUserVerifyingPlatformAuthenticator()
. L'estensione deve richiamare questa impostazione per ogni evento onIsUvpaaRequest
ricevuto.
Parametri
-
dettagli
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Ritorni
-
Promise<void>
Le promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.
detach()
chrome.webAuthenticationProxy.detach(
callback?: function,
)
Rimuove questa estensione dall'utilizzo come proxy per le richieste dell'API Web Authentication attivo.
Questo metodo viene in genere chiamato quando l'estensione rileva che una sessione di Remote Desktop è stata terminata. Una volta restituito questo metodo, l'estensione non è più il proxy di richiesta API Web Authentication attivo.
Fai riferimento all'evento onRemoteSessionStateChange
per segnalare una modifica del collegamento della sessione remota da un'applicazione nativa all'estensione (possibilmente sospesa).
Parametri
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(error?: string) => void
-
errore
stringa facoltativo
-
Ritorni
-
Promise<string | undefined>
Le promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.
Eventi
onCreateRequest
chrome.webAuthenticationProxy.onCreateRequest.addListener(
callback: function,
)
Viene attivato quando si verifica una chiamata navigator.credentials.create()
di WebAuthn. L'estensione deve fornire una risposta chiamando completeCreateRequest()
con il requestId
da requestInfo
.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(requestInfo: CreateRequest) => void
-
requestInfo
-
onGetRequest
chrome.webAuthenticationProxy.onGetRequest.addListener(
callback: function,
)
Si attiva quando si verifica una chiamata a navigator.credentials.get() WebAuthn. L'estensione deve fornire una risposta chiamando completeGetRequest()
con il requestId
da requestInfo
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(requestInfo: GetRequest) => void
-
requestInfo
-
onIsUvpaaRequest
chrome.webAuthenticationProxy.onIsUvpaaRequest.addListener(
callback: function,
)
Viene attivato quando si verifica una chiamata PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()
. L'estensione deve fornire una risposta chiamando completeIsUvpaaRequest()
con il requestId
da requestInfo
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(requestInfo: IsUvpaaRequest) => void
-
requestInfo
-
onRemoteSessionStateChange
chrome.webAuthenticationProxy.onRemoteSessionStateChange.addListener(
callback: function,
)
Un'applicazione nativa associata a questa estensione può causare l'attivazione di questo evento scrivendo in un file con un nome uguale all'ID dell'estensione in una directory denominata WebAuthenticationProxyRemoteSessionStateChange
all'interno della directory dei dati utente predefinita
I contenuti del file devono essere vuoti. In altre parole, non è necessario modificare i contenuti del file per attivare questo evento.
L'applicazione host nativa può utilizzare questo meccanismo di evento per segnalare una possibile modifica dello stato della sessione remota (ad esempio, da scollegata a collegata o viceversa) mentre il service worker dell'estensione è potenzialmente sospeso. Nel gestore di questo evento, l'estensione può chiamare i metodi dell'API attach()
o detach()
di conseguenza.
Il listener di eventi deve essere registrato in modo sincrono al momento del caricamento.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:() => void
onRequestCanceled
chrome.webAuthenticationProxy.onRequestCanceled.addListener(
callback: function,
)
Viene attivato quando un evento onCreateRequest
o onGetRequest
viene annullato (perché la richiesta WebAuthn è stata interrotta dal chiamante o perché è scaduta). Quando riceve questo evento, l'estensione deve annullare l'elaborazione della richiesta corrispondente sul lato client. Le estensioni non possono completare una richiesta dopo l'annullamento.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(requestId: number) => void
-
requestId
numero
-