chrome.webAuthenticationProxy

Descrizione

L'API chrome.webAuthenticationProxy consente al software di desktop remoto in esecuzione su un host remoto di intercettare le richieste dell'API Web Authentication (WebAuthn) per gestirle su un client locale.

Autorizzazioni

webAuthenticationProxy

Disponibilità

Chrome 115 e versioni successive MV3 o versioni successive

Tipi

CreateRequest

Proprietà

  • requestDetailsJson

    stringa

    PublicKeyCredentialCreationOptions passato a navigator.credentials.create(), serializzato come stringa JSON. Il formato di serializzazione è compatibile con PublicKeyCredential.parseCreationOptionsFromJSON().

  • requestId

    numero

    Un identificatore opaco per la richiesta.

CreateResponseDetails

Proprietà

  • errore

    L'elemento DOMException restituito dalla richiesta remota, se presente.

  • requestId

    numero

    Il requestId di CreateRequest.

  • responseJson

    stringa facoltativo

    Il PublicKeyCredential, restituito dalla richiesta remota, se presente, è 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

    PublicKeyCredentialRequestOptions passato a navigator.credentials.get(), serializzato come stringa JSON. Il formato di serializzazione è compatibile con PublicKeyCredential.parseRequestOptionsFromJSON().

  • requestId

    numero

    Un identificatore opaco per la richiesta.

GetResponseDetails

Proprietà

  • errore

    L'elemento DOMException restituito dalla richiesta remota, se presente.

  • requestId

    numero

    Il requestId di CreateRequest.

  • responseJson

    stringa facoltativo

    Il PublicKeyCredential, restituito dalla richiesta remota, se presente, è 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

    booleano

  • requestId

    numero

Metodi

attach()

Promesso .
chrome.webAuthenticationProxy.attach(
  callback?: function,
)

Rende questa estensione il proxy di richiesta API Web Authentication attivo.

In genere le estensioni desktop remoto chiamano questo metodo dopo aver rilevato il collegamento di una sessione remota all'host. Quando questo metodo viene restituito senza errori, l'elaborazione regolare delle richieste WebAuthn viene sospesa e vengono generati gli eventi dell'API di estensione.

Questo metodo non riesce e restituisce un errore se è già collegata un'estensione diversa.

L'estensione collegata deve chiamare detach() al termine della sessione di Remote Desktop per riprendere la normale elaborazione delle richieste WebAuthn. Le estensioni vengono scollegate automaticamente se vengono scaricate.

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

Resi

  • Promesso<string | non definito>

    Le promesse sono supportate in Manifest V3 e versioni successive, ma sono disponibili callback per la compatibilità con le versioni precedenti. Non puoi utilizzare entrambi nella stessa chiamata di funzione. La si risolve con lo stesso tipo passato al callback.

completeCreateRequest()

Promesso .
chrome.webAuthenticationProxy.completeCreateRequest(
  details: CreateResponseDetails,
  callback?: function,
)

Segnala il risultato di una chiamata navigator.credentials.create(). L'estensione deve chiamare questo numero per ogni evento onCreateRequest ricevuto, a meno che la richiesta non sia stata annullata (in questo caso viene attivato un evento onRequestCanceled).

Parametri

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promesso<void>

    Le promesse sono supportate in Manifest V3 e versioni successive, ma sono disponibili callback per la compatibilità con le versioni precedenti. Non puoi utilizzare entrambi nella stessa chiamata di funzione. La si risolve con lo stesso tipo passato al callback.

completeGetRequest()

Promesso .
chrome.webAuthenticationProxy.completeGetRequest(
  details: GetResponseDetails,
  callback?: function,
)

Segnala il risultato di una chiamata navigator.credentials.get(). L'estensione deve chiamare questo numero per ogni evento onGetRequest ricevuto, a meno che la richiesta non sia stata annullata (in questo caso viene attivato un evento onRequestCanceled).

Parametri

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promesso<void>

    Le promesse sono supportate in Manifest V3 e versioni successive, ma sono disponibili callback per la compatibilità con le versioni precedenti. Non puoi utilizzare entrambi nella stessa chiamata di funzione. La si risolve con lo stesso tipo passato al callback.

completeIsUvpaaRequest()

Promesso .
chrome.webAuthenticationProxy.completeIsUvpaaRequest(
  details: IsUvpaaResponseDetails,
  callback?: function,
)

Segnala il risultato di una chiamata PublicKeyCredential.isUserVerifyingPlatformAuthenticator(). L'estensione deve effettuare una chiamata per ogni evento onIsUvpaaRequest ricevuto.

Parametri

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promesso<void>

    Le promesse sono supportate in Manifest V3 e versioni successive, ma sono disponibili callback per la compatibilità con le versioni precedenti. Non puoi utilizzare entrambi nella stessa chiamata di funzione. La si risolve con lo stesso tipo passato al callback.

detach()

Promesso .
chrome.webAuthenticationProxy.detach(
  callback?: function,
)

Impedisce che l'estensione sia il proxy di richiesta API Web Authentication attivo.

Questo metodo viene generalmente 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

Resi

  • Promesso<string | non definito>

    Le promesse sono supportate in Manifest V3 e versioni successive, ma sono disponibili callback per la compatibilità con le versioni precedenti. Non puoi utilizzare entrambi nella stessa chiamata di funzione. La si risolve con lo stesso tipo passato 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

onGetRequest

chrome.webAuthenticationProxy.onGetRequest.addListener(
  callback: function,
)

Viene attivato quando si verifica una chiamata WebAuthn navigator.credentials.get(). 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

onIsUvpaaRequest

chrome.webAuthenticationProxy.onIsUvpaaRequest.addListener(
  callback: function,
)

Viene attivato quando si verifica una chiamata a PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable(). L'estensione deve fornire una risposta chiamando completeIsUvpaaRequest() con il requestId da requestInfo

Parametri

onRemoteSessionStateChange

chrome.webAuthenticationProxy.onRemoteSessionStateChange.addListener(
  callback: function,
)

Un'applicazione nativa associata a questa estensione può causare l'attivazione dell'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. Ad esempio, 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 di estensione è eventualmente 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 averla annullata.

Parametri

  • callback

    funzione

    Il parametro callback ha il seguente aspetto:

    (requestId: number) => void

    • requestId

      numero