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 autenticación web (WebAuthn) para controlarlas en un cliente local.
Permisos
webAuthenticationProxyDisponibilidad
Tipos
CreateRequest
Propiedades
-
requestDetailsJson
string
El
PublicKeyCredentialCreationOptionsque se pasa anavigator.credentials.create(), serializado como una cadena JSON. El formato de serialización es compatible conPublicKeyCredential.parseCreationOptionsFromJSON(). -
requestId
número
Es un identificador opaco para la solicitud.
CreateResponseDetails
Propiedades
-
error
DOMExceptionDetails opcional
Es el
DOMExceptionque produjo la solicitud remota, si la hubiera. -
requestId
número
El
requestIddeCreateRequest. -
responseJson
string opcional
Es el
PublicKeyCredentialque genera la solicitud remota, si la hay, serializado como una cadena JSON llamando a href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson">PublicKeyCredential.toJSON().
DOMExceptionDetails
Propiedades
-
mensaje
string
-
nombre
string
GetRequest
Propiedades
-
requestDetailsJson
string
El
PublicKeyCredentialRequestOptionsque se pasa anavigator.credentials.get(), serializado como una cadena JSON. El formato de serialización es compatible conPublicKeyCredential.parseRequestOptionsFromJSON(). -
requestId
número
Es un identificador opaco para la solicitud.
GetResponseDetails
Propiedades
-
error
DOMExceptionDetails opcional
Es el
DOMExceptionque produjo la solicitud remota, si la hubiera. -
requestId
número
El
requestIddeCreateRequest. -
responseJson
string opcional
Es el
PublicKeyCredentialque genera la solicitud remota, si la hay, serializado como una cadena JSON llamando a href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson">PublicKeyCredential.toJSON().
IsUvpaaRequest
Propiedades
-
requestId
número
Es un identificador opaco para la solicitud.
IsUvpaaResponseDetails
Propiedades
-
isUvpaa
booleano
-
requestId
número
Métodos
attach()
browser.webAuthenticationProxy.attach(): Promise<string | undefined>
Hace que esta extensión sea el proxy de solicitud a la API de Web Authentication activo.
Por lo general, las extensiones de escritorio remoto llaman a este método después de detectar que se adjuntó una sesión remota a este host. Una vez que este método se devuelve 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 con 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 solicitudes de WebAuthn. Las extensiones se desconectan automáticamente si se descargan.
Consulta el evento onRemoteSessionStateChange para indicar un cambio de conexión de sesión remota de una aplicación nativa a la extensión (posiblemente suspendida).
Muestra
-
Promise<string | undefined>
completeCreateRequest()
browser.webAuthenticationProxy.completeCreateRequest(
details: CreateResponseDetails,
): Promise<void>
Informa el resultado de una llamada a navigator.credentials.create(). La extensión debe llamar a este método para cada evento onCreateRequest que haya recibido, a menos que se haya cancelado la solicitud (en cuyo caso, se activa un evento onRequestCanceled).
Parámetros
-
detalles
Muestra
-
Promise<void>
completeGetRequest()
browser.webAuthenticationProxy.completeGetRequest(
details: GetResponseDetails,
): Promise<void>
Informa el resultado de una llamada a navigator.credentials.get(). La extensión debe llamar a este método para cada evento onGetRequest que haya recibido, a menos que se haya cancelado la solicitud (en cuyo caso, se activa un evento onRequestCanceled).
Parámetros
-
detalles
Muestra
-
Promise<void>
completeIsUvpaaRequest()
browser.webAuthenticationProxy.completeIsUvpaaRequest(
details: IsUvpaaResponseDetails,
): Promise<void>
Informa el resultado de una llamada a PublicKeyCredential.isUserVerifyingPlatformAuthenticator(). La extensión debe llamar a esta función para cada evento onIsUvpaaRequest que haya recibido.
Parámetros
-
detalles
Muestra
-
Promise<void>
detach()
browser.webAuthenticationProxy.detach(): Promise<string | undefined>
Quita esta extensión para que no sea el proxy de solicitud a la API de Web Authentication activo.
Por lo general, se llama a este método cuando la extensión detecta que se finalizó una sesión de escritorio remoto. Una vez que este método devuelve, la extensión deja de ser el proxy de solicitud a la API de Web Authentication activo.
Consulta el evento onRemoteSessionStateChange para indicar un cambio de conexión de sesión remota de una aplicación nativa a la extensión (posiblemente suspendida).
Muestra
-
Promise<string | undefined>
Eventos
onCreateRequest
browser.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 de requestInfo.
Parámetros
-
callback
función
El parámetro
callbackse ve de la siguiente manera:(requestInfo: CreateRequest) => void
-
requestInfo
-
onGetRequest
browser.webAuthenticationProxy.onGetRequest.addListener(
callback: function,
)
Se activa cuando se produce una llamada a navigator.credentials.get() de WebAuthn. La extensión debe proporcionar una respuesta llamando a completeGetRequest() con el requestId de requestInfo
Parámetros
-
callback
función
El parámetro
callbackse ve de la siguiente manera:(requestInfo: GetRequest) => void
-
requestInfo
-
onIsUvpaaRequest
browser.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 de requestInfo
Parámetros
-
callback
función
El parámetro
callbackse ve de la siguiente manera:(requestInfo: IsUvpaaRequest) => void
-
requestInfo
-
onRemoteSessionStateChange
browser.webAuthenticationProxy.onRemoteSessionStateChange.addListener(
callback: function,
)
Una aplicación nativa asociada con esta extensión puede hacer que se active este evento escribiendo en un archivo con un nombre igual al ID de la extensión en un directorio llamado WebAuthenticationProxyRemoteSessionStateChange dentro del directorio de datos del usuario predeterminado
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 de host nativa puede usar este mecanismo de eventos para indicar un posible cambio de estado de la sesión remota (es decir, de desconectada a conectada, o viceversa) mientras el service worker de la extensión posiblemente esté suspendido. En el controlador de este evento, la extensión puede llamar a los métodos de la API de attach() o detach() según corresponda.
El objeto de escucha de eventos se debe registrar de forma síncrona en el momento de la carga.
Parámetros
-
callback
función
El parámetro
callbackse ve de la siguiente manera:() => void
onRequestCanceled
browser.webAuthenticationProxy.onRequestCanceled.addListener(
callback: function,
)
Se activa cuando se cancela un evento onCreateRequest o onGetRequest (porque el emisor anuló la solicitud de WebAuthn o porque se agotó el tiempo de espera). Cuando se recibe este evento, la extensión debe cancelar el procesamiento de la solicitud correspondiente en el lado del cliente. Las extensiones no pueden completar una solicitud una vez que se canceló.
Parámetros
-
callback
función
El parámetro
callbackse ve de la siguiente manera:(requestId: number) => void
-
requestId
número
-