chrome.webAuthenticationProxy

Descrição

A API chrome.webAuthenticationProxy permite que o software da área de trabalho remota em execução em um host remoto intercepte solicitações da API Web Authentication (WebAuthn) para processá-las em um cliente local.

Permissões

webAuthenticationProxy

Disponibilidade

Chrome 115+ MV3+

Tipos

CreateRequest

Propriedades

  • requestDetailsJson

    string

    O PublicKeyCredentialCreationOptions transmitido para navigator.credentials.create(), serializado como uma string JSON. O formato de serialização é compatível com PublicKeyCredential.parseCreationOptionsFromJSON().

  • requestId

    number

    Um identificador opaco para a solicitação.

CreateResponseDetails

Propriedades

  • error

    O DOMException gerado pela solicitação remota, se houver.

  • requestId

    number

    O requestId do CreateRequest.

  • responseJson

    string opcional

    A PublicKeyCredential, gerada pela solicitação remota, se houver, serializada como uma string JSON chamando href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson"> PublicKeyCredential.toJSON().

DOMExceptionDetails

Propriedades

  • mensagem

    string

  • name

    string

GetRequest

Propriedades

  • requestDetailsJson

    string

    O PublicKeyCredentialRequestOptions transmitido para navigator.credentials.get(), serializado como uma string JSON. O formato de serialização é compatível com PublicKeyCredential.parseRequestOptionsFromJSON().

  • requestId

    number

    Um identificador opaco para a solicitação.

GetResponseDetails

Propriedades

  • error

    O DOMException gerado pela solicitação remota, se houver.

  • requestId

    number

    O requestId do CreateRequest.

  • responseJson

    string opcional

    A PublicKeyCredential, gerada pela solicitação remota, se houver, serializada como uma string JSON chamando href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson"> PublicKeyCredential.toJSON().

IsUvpaaRequest

Propriedades

  • requestId

    number

    Um identificador opaco para a solicitação.

IsUvpaaResponseDetails

Propriedades

  • isUvpaa

    boolean

  • requestId

    number

Métodos

attach()

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

Torna essa extensão o proxy de solicitação ativo da API Web Authentication.

As extensões da área de trabalho remota normalmente chamam esse método depois de detectar o anexo de uma sessão remota para esse host. Quando esse método é retornado sem erro, o processamento normal de solicitações do WebAuthn é suspenso, e os eventos dessa API de extensão são gerados.

Esse método falhará com um erro se outra extensão já estiver anexada.

A extensão anexada precisa chamar detach() depois que a sessão da área de trabalho remota terminar para retomar o processamento normal da solicitação do WebAuthn. As extensões serão automaticamente desanexadas se forem descarregadas.

Consulte o evento onRemoteSessionStateChange para sinalizar uma mudança do anexo de sessão remota de um aplicativo nativo para a extensão (possivelmente suspensa).

Parâmetros

  • callback

    função optional

    O parâmetro callback tem esta aparência:

    (error?: string)=>void

    • error

      string opcional

Retorna

  • Promessa<string|indefinida>

    Promessas são compatíveis com o Manifest V3 e versões mais recentes, mas callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo que é passado para o callback.

completeCreateRequest()

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

Informa o resultado de uma chamada navigator.credentials.create(). A extensão precisa chamar esse método para cada evento onCreateRequest recebido, a menos que a solicitação tenha sido cancelada. Nesse caso, um evento onRequestCanceled é acionado.

Parâmetros

  • callback

    função optional

    O parâmetro callback tem esta aparência:

    ()=>void

Retorna

  • Promise<void>

    Promessas são compatíveis com o Manifest V3 e versões mais recentes, mas callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo que é passado para o callback.

completeGetRequest()

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

Informa o resultado de uma chamada navigator.credentials.get(). A extensão precisa chamar esse método para cada evento onGetRequest recebido, a menos que a solicitação tenha sido cancelada. Nesse caso, um evento onRequestCanceled é acionado.

Parâmetros

  • callback

    função optional

    O parâmetro callback tem esta aparência:

    ()=>void

Retorna

  • Promise<void>

    Promessas são compatíveis com o Manifest V3 e versões mais recentes, mas callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo que é passado para o callback.

completeIsUvpaaRequest()

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

Informa o resultado de uma chamada PublicKeyCredential.isUserVerifyingPlatformAuthenticator(). A extensão precisa chamar esse parâmetro para cada evento onIsUvpaaRequest que receber.

Parâmetros

  • callback

    função optional

    O parâmetro callback tem esta aparência:

    ()=>void

Retorna

  • Promise<void>

    Promessas são compatíveis com o Manifest V3 e versões mais recentes, mas callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo que é passado para o callback.

detach()

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

Remove a extensão do proxy de solicitação ativo da API Web Authentication.

Esse método normalmente é chamado quando a extensão detecta que uma sessão de área de trabalho remota foi encerrada. Quando o método for retornado, a extensão deixará de ser o proxy de solicitação ativo da API Web Authentication.

Consulte o evento onRemoteSessionStateChange para sinalizar uma mudança do anexo de sessão remota de um aplicativo nativo para a extensão (possivelmente suspensa).

Parâmetros

  • callback

    função optional

    O parâmetro callback tem esta aparência:

    (error?: string)=>void

    • error

      string opcional

Retorna

  • Promessa<string|indefinida>

    Promessas são compatíveis com o Manifest V3 e versões mais recentes, mas callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo que é passado para o callback.

Eventos

onCreateRequest

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

Ativa quando ocorre uma chamada navigator.credentials.create() do WebAuthn. A extensão precisa fornecer uma resposta chamando completeCreateRequest() com o requestId do requestInfo.

Parâmetros

onGetRequest

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

É acionado quando ocorre uma chamada Navigator.credentials.get() do WebAuthn. A extensão precisa fornecer uma resposta chamando completeGetRequest() com o requestId de requestInfo

Parâmetros

  • callback

    função

    O parâmetro callback tem esta aparência:

    (requestInfo: GetRequest)=>void

onIsUvpaaRequest

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

É disparado quando uma chamada PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable() ocorre. A extensão precisa fornecer uma resposta chamando completeIsUvpaaRequest() com o requestId de requestInfo

Parâmetros

onRemoteSessionStateChange

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

Um aplicativo nativo associado a essa extensão pode disparar esse evento gravando em um arquivo com nome igual ao ID da extensão em um diretório chamado WebAuthenticationProxyRemoteSessionStateChange dentro do diretório de dados do usuário padrão.

O conteúdo do arquivo deve estar vazio. Ou seja, não é necessário alterar o conteúdo do arquivo para acionar esse evento.

O aplicativo host nativo pode usar esse mecanismo de evento para sinalizar uma possível alteração de estado da sessão remota (ou seja, de independente para anexado ou vice-versa) enquanto o service worker de extensão está possivelmente suspenso. No manipulador desse evento, a extensão pode chamar os métodos de API attach() ou detach().

O listener de eventos precisa ser registrado de forma síncrona no momento do carregamento.

Parâmetros

  • callback

    função

    O parâmetro callback tem esta aparência:

    ()=>void

onRequestCanceled

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

É disparado quando um evento onCreateRequest ou onGetRequest é cancelado, porque a solicitação do WebAuthn foi cancelada pelo autor da chamada ou porque expirou. Ao receber esse evento, a extensão deve cancelar o processamento da solicitação correspondente no lado do cliente. As extensões não podem concluir uma solicitação após o cancelamento.

Parâmetros

  • callback

    função

    O parâmetro callback tem esta aparência:

    (requestId: number)=>void

    • requestId

      number