Descripción
La API de chrome.webAuthenticationProxy
permite que el software de escritorio remoto que se ejecuta en un host remoto intercepte las solicitudes de la API de Web Authentication (WebAuthn) para controlarlas en un cliente local.
Permisos
webAuthenticationProxy
Disponibilidad
Tipos
CreateRequest
Propiedades
-
requestDetailsJson
cadena
La
PublicKeyCredentialCreationOptions
que se pasa anavigator.credentials.create()
, serializada como una string JSON. El formato de serialización es compatible conPublicKeyCredential.parseCreationOptionsFromJSON()
. -
requestId
número
Un identificador opaco para la solicitud.
CreateResponseDetails
Propiedades
-
error
DOMExceptionDetails opcional
El
DOMException
que genera la solicitud remota, si corresponde -
requestId
número
El
requestId
de losCreateRequest
. -
responseJson
cadena opcional
El
PublicKeyCredential
, generado por la solicitud remota, si existe, serializado como una cadena JSON llamando a href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson">PublicKeyCredential.toJSON()
.
DOMExceptionDetails
Propiedades
-
mensaje
cadena
-
name
cadena
GetRequest
Propiedades
-
requestDetailsJson
cadena
La
PublicKeyCredentialRequestOptions
que se pasa anavigator.credentials.get()
, serializada como una string JSON. El formato de serialización es compatible conPublicKeyCredential.parseRequestOptionsFromJSON()
. -
requestId
número
Un identificador opaco para la solicitud.
GetResponseDetails
Propiedades
-
error
DOMExceptionDetails opcional
El
DOMException
que genera la solicitud remota, si corresponde -
requestId
número
El
requestId
de losCreateRequest
. -
responseJson
cadena opcional
El
PublicKeyCredential
, generado por la solicitud remota, si existe, serializado como una cadena JSON llamando a href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson">PublicKeyCredential.toJSON()
.
IsUvpaaRequest
Propiedades
-
requestId
número
Un identificador opaco para la solicitud.
IsUvpaaResponseDetails
Propiedades
-
isUvpaa
boolean
-
requestId
número
Métodos
attach()
chrome.webAuthenticationProxy.attach(
callback?: function,
)
Hace que esta extensión sea el proxy de solicitud activo de la API de Web Authentication.
Por lo general, las extensiones de escritorio remoto llaman a este método después de detectar la conexión de una sesión remota a este host. Una vez que este método se muestra sin errores, se suspende el procesamiento normal de las solicitudes de WebAuthn y se generan eventos de esta API de extensión.
Este método falla y muestra un error si ya se adjuntó una extensión diferente.
La extensión adjunta debe llamar a detach()
una vez que haya finalizado la sesión de escritorio remoto para reanudar el procesamiento normal de las solicitudes de WebAuthn. Las extensiones se desconectan automáticamente si se descargan.
Consulta el evento onRemoteSessionStateChange
para indicar un cambio del adjunto de sesión remota de una aplicación nativa a la extensión (posiblemente suspendida).
Parámetros
-
callback
Función opcional
El parámetro
callback
se ve de la siguiente manera:(error?: string) => void
-
error
cadena opcional
-
Devuelve
-
Promise<string | undefined>
Las promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para brindar retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.
completeCreateRequest()
chrome.webAuthenticationProxy.completeCreateRequest(
details: CreateResponseDetails,
callback?: function,
)
Informa el resultado de una llamada a navigator.credentials.create()
. La extensión debe llamar a este método por cada evento onCreateRequest
que reciba, a menos que se haya cancelado la solicitud (en ese caso, se activa un evento onRequestCanceled
).
Parámetros
-
detalles
-
callback
Función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Devuelve
-
Promise<void>
Las promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para brindar retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.
completeGetRequest()
chrome.webAuthenticationProxy.completeGetRequest(
details: GetResponseDetails,
callback?: function,
)
Informa el resultado de una llamada a navigator.credentials.get()
. La extensión debe llamar a este método por cada evento onGetRequest
que reciba, a menos que se haya cancelado la solicitud (en ese caso, se activa un evento onRequestCanceled
).
Parámetros
-
detalles
-
callback
Función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Devuelve
-
Promise<void>
Las promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para brindar retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.
completeIsUvpaaRequest()
chrome.webAuthenticationProxy.completeIsUvpaaRequest(
details: IsUvpaaResponseDetails,
callback?: function,
)
Informa el resultado de una llamada a PublicKeyCredential.isUserVerifyingPlatformAuthenticator()
. La extensión debe llamar a este método por cada evento onIsUvpaaRequest
que haya recibido.
Parámetros
-
detalles
-
callback
Función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Devuelve
-
Promise<void>
Las promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para brindar retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.
detach()
chrome.webAuthenticationProxy.detach(
callback?: function,
)
Quita esta extensión del proxy de solicitudes activo de la API de Web Authentication.
Por lo general, se llama a este método cuando la extensión detecta que finalizó una sesión de escritorio remoto. Una vez que se muestra este método, la extensión deja de ser el proxy de solicitudes activo de la API de Web Authentication.
Consulta el evento onRemoteSessionStateChange
para indicar un cambio del adjunto de sesión remota de una aplicación nativa a la extensión (posiblemente suspendida).
Parámetros
-
callback
Función opcional
El parámetro
callback
se ve de la siguiente manera:(error?: string) => void
-
error
cadena opcional
-
Devuelve
-
Promise<string | undefined>
Las promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para brindar retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.
Eventos
onCreateRequest
chrome.webAuthenticationProxy.onCreateRequest.addListener(
callback: function,
)
Se activa cuando se produce una llamada navigator.credentials.create()
de WebAuthn. La extensión debe proporcionar una respuesta llamando a completeCreateRequest()
con el requestId
desde requestInfo
.
Parámetros
-
callback
la función
El parámetro
callback
se ve de la siguiente manera:(requestInfo: CreateRequest) => void
-
requestInfo
-
onGetRequest
chrome.webAuthenticationProxy.onGetRequest.addListener(
callback: function,
)
Se activa cuando se produce una llamada navigator.credentials.get() de WebAuthn. La extensión debe proporcionar una respuesta llamando a completeGetRequest()
con el requestId
desde requestInfo
.
Parámetros
-
callback
la función
El parámetro
callback
se ve de la siguiente manera:(requestInfo: GetRequest) => void
-
requestInfo
-
onIsUvpaaRequest
chrome.webAuthenticationProxy.onIsUvpaaRequest.addListener(
callback: function,
)
Se activa cuando se produce una llamada a PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()
. La extensión debe proporcionar una respuesta llamando a completeIsUvpaaRequest()
con el requestId
desde requestInfo
.
Parámetros
-
callback
la función
El parámetro
callback
se ve de la siguiente manera:(requestInfo: IsUvpaaRequest) => void
-
requestInfo
-
onRemoteSessionStateChange
chrome.webAuthenticationProxy.onRemoteSessionStateChange.addListener(
callback: function,
)
Una aplicación nativa asociada con esta extensión puede activar la activación del evento escribiendo en un archivo con un nombre igual al ID de la extensión en un directorio llamado WebAuthenticationProxyRemoteSessionStateChange
dentro del directorio predeterminado de datos del usuario.
El contenido del archivo debe estar vacío. Es decir, no es necesario cambiar el contenido del archivo para activar este evento.
La aplicación host nativa puede usar este mecanismo de eventos para indicar un posible cambio de estado de la sesión remota (es decir, de desconectado a conectado, o viceversa) mientras el service worker de extensión puede estar suspendido. En el controlador de este evento, la extensión puede llamar a los métodos de la API attach()
o detach()
según corresponda.
El objeto de escucha de eventos debe registrarse de forma síncrona en el momento de la carga.
Parámetros
-
callback
la función
El parámetro
callback
se ve de la siguiente manera:() => void
onRequestCanceled
chrome.webAuthenticationProxy.onRequestCanceled.addListener(
callback: function,
)
Se activa cuando se cancela un evento onCreateRequest
o onGetRequest
(porque el llamador anuló la solicitud de WebAuthn o porque se agotó el tiempo de espera). Al recibir este evento, la extensión debe cancelar el procesamiento de la solicitud correspondiente por parte del cliente. Las extensiones no pueden completar una solicitud una vez que se canceló.
Parámetros
-
callback
la función
El parámetro
callback
se ve de la siguiente manera:(requestId: number) => void
-
requestId
número
-