chrome.webAuthenticationProxy

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

Chrome 115 y versiones posteriores MV3+ .

Tipos

CreateRequest

Propiedades

  • requestDetailsJson

    string

    El PublicKeyCredentialCreationOptions que se pasa a navigator.credentials.create(), serializado como una cadena JSON. El formato de serialización es compatible con PublicKeyCredential.parseCreationOptionsFromJSON().

  • requestId

    número

    Un identificador opaco para la solicitud.

CreateResponseDetails

Propiedades

  • error

    Es el DOMException que generó la solicitud remota, si corresponde.

  • requestId

    número

    El requestId de CreateRequest.

  • responseJson

    string opcional

    El PublicKeyCredential, producido por la solicitud remota, si corresponde, 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 PublicKeyCredentialRequestOptions que se pasa a navigator.credentials.get(), serializado como una cadena JSON. El formato de serialización es compatible con PublicKeyCredential.parseRequestOptionsFromJSON().

  • requestId

    número

    Un identificador opaco para la solicitud.

GetResponseDetails

Propiedades

  • error

    Es el DOMException que generó la solicitud remota, si corresponde.

  • requestId

    número

    El requestId de CreateRequest.

  • responseJson

    string opcional

    El PublicKeyCredential, producido por la solicitud remota, si corresponde, 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()

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

Convierte esta extensión en 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 el adjunto de una sesión remota a este host. Una vez que este método se devuelva sin errores, se suspenderá el procesamiento normal de las solicitudes de WebAuthn y se generarán los 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 en el 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

      string opcional

Muestra

  • Promesa<string | indefinido>

    Las promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para retrocompatibilidad. No puedes usar ambos en la misma llamada a función. El se resuelve con el mismo tipo que se pasa a la devolución de llamada.

completeCreateRequest()

Promesa
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 para cada evento de onCreateRequest que haya recibido, a menos que se haya cancelado la solicitud (en ese caso, se activará un evento onRequestCanceled).

Parámetros

  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    () => void

Muestra

  • Promesa<void>

    Las promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para retrocompatibilidad. No puedes usar ambos en la misma llamada a función. El se resuelve con el mismo tipo que se pasa a la devolución de llamada.

completeGetRequest()

Promesa
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 para cada evento de onGetRequest que haya recibido, a menos que se haya cancelado la solicitud (en ese caso, se activará un evento onRequestCanceled).

Parámetros

  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    () => void

Muestra

  • Promesa<void>

    Las promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para retrocompatibilidad. No puedes usar ambos en la misma llamada a función. El se resuelve con el mismo tipo que se pasa a la devolución de llamada.

completeIsUvpaaRequest()

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

Informa el resultado de una llamada a PublicKeyCredential.isUserVerifyingPlatformAuthenticator(). La extensión debe llamar a este número para cada evento de onIsUvpaaRequest que haya recibido.

Parámetros

  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    () => void

Muestra

  • Promesa<void>

    Las promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para retrocompatibilidad. No puedes usar ambos en la misma llamada a función. El se resuelve con el mismo tipo que se pasa a la devolución de llamada.

detach()

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

Elimina 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 se cerró una sesión de escritorio remoto. Una vez que se muestre este método, la extensión dejará de ser el proxy activo de solicitudes a la API de Web Authentication.

Consulta el evento onRemoteSessionStateChange para indicar un cambio en el 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

      string opcional

Muestra

  • Promesa<string | indefinido>

    Las promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para retrocompatibilidad. No puedes usar ambos en la misma llamada a función. El 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 de requestInfo.

Parámetros

  • callback

    función

    El parámetro callback se ve de la siguiente manera:

    (requestInfo: CreateRequest) => void

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 de requestInfo.

Parámetros

  • callback

    función

    El parámetro callback se ve de la siguiente manera:

    (requestInfo: GetRequest) => void

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 de requestInfo.

Parámetros

  • callback

    función

    El parámetro callback se ve de la siguiente manera:

    (requestInfo: IsUvpaaRequest) => void

onRemoteSessionStateChange

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

Una aplicación nativa asociada con esta extensión puede provocar que se active este evento si se escribe 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 sesión remota (es decir, de desconectada a conectada, o viceversa) mientras el service worker de extensión posiblemente esté 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

    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). Cuando recibe este evento, la extensión debe cancelar el procesamiento de la solicitud correspondiente del cliente. Las extensiones no pueden completar una solicitud una vez que se cancelan.

Parámetros

  • callback

    función

    El parámetro callback se ve de la siguiente manera:

    (requestId: number) => void

    • requestId

      número