Descrição
A API chrome.webAuthenticationProxy permite que o software de á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
webAuthenticationProxyDisponibilidade
Tipos
CreateRequest
Propriedades
-
requestDetailsJson
string
O
PublicKeyCredentialCreationOptionstransmitido paranavigator.credentials.create(), serializado como uma string JSON. O formato de serialização é compatível comPublicKeyCredential.parseCreationOptionsFromJSON(). -
requestId
número
Um identificador opaco para a solicitação.
CreateResponseDetails
Propriedades
-
erro
DOMExceptionDetails opcional
O
DOMExceptiongerado pela solicitação remota, se houver. -
requestId
número
O
requestIddoCreateRequest. -
responseJson
string opcional
O
PublicKeyCredential, gerado pela solicitação remota, se houver, serializado como uma string JSON chamando href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson">PublicKeyCredential.toJSON().
DOMExceptionDetails
Propriedades
-
mensagem
string
-
nome
string
GetRequest
Propriedades
-
requestDetailsJson
string
O
PublicKeyCredentialRequestOptionstransmitido paranavigator.credentials.get(), serializado como uma string JSON. O formato de serialização é compatível comPublicKeyCredential.parseRequestOptionsFromJSON(). -
requestId
número
Um identificador opaco para a solicitação.
GetResponseDetails
Propriedades
-
erro
DOMExceptionDetails opcional
O
DOMExceptiongerado pela solicitação remota, se houver. -
requestId
número
O
requestIddoCreateRequest. -
responseJson
string opcional
O
PublicKeyCredential, gerado pela solicitação remota, se houver, serializado como uma string JSON chamando href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson">PublicKeyCredential.toJSON().
IsUvpaaRequest
Propriedades
-
requestId
número
Um identificador opaco para a solicitação.
IsUvpaaResponseDetails
Propriedades
-
isUvpaa
booleano
-
requestId
número
Métodos
attach()
browser.webAuthenticationProxy.attach(): Promise<string | undefined>
Torna esta extensão o proxy de solicitação de API da Web Authentication ativo.
As extensões de área de trabalho remota normalmente chamam esse método depois de detectar o anexo de uma sessão remota a esse host. Depois que esse método retorna sem erros, o processamento regular das solicitações do WebAuthn é suspenso, e os eventos dessa API de extensão são gerados.
Esse método falha com um erro se uma extensão diferente já estiver anexada.
A extensão anexada precisa chamar detach() quando a sessão de área de trabalho remota terminar para retomar o processamento normal de solicitações do WebAuthn. As extensões são desanexadas automaticamente se forem descarregadas.
Consulte o evento onRemoteSessionStateChange para sinalizar uma mudança no anexo da sessão remota de um app nativo para a extensão (possivelmente suspensa).
Retorna
-
Promise<string | undefined>
completeCreateRequest()
browser.webAuthenticationProxy.completeCreateRequest(
details: CreateResponseDetails,
): Promise<void>
Informa o resultado de uma chamada navigator.credentials.create(). A extensão precisa chamar isso para cada evento onCreateRequest recebido, a menos que a solicitação tenha sido cancelada (nesse caso, um evento onRequestCanceled é acionado).
Parâmetros
-
detalhes
Retorna
-
Promessa<void>
completeGetRequest()
browser.webAuthenticationProxy.completeGetRequest(
details: GetResponseDetails,
): Promise<void>
Informa o resultado de uma chamada navigator.credentials.get(). A extensão precisa chamar isso para cada evento onGetRequest recebido, a menos que a solicitação tenha sido cancelada (nesse caso, um evento onRequestCanceled é acionado).
Parâmetros
-
detalhes
Retorna
-
Promessa<void>
completeIsUvpaaRequest()
browser.webAuthenticationProxy.completeIsUvpaaRequest(
details: IsUvpaaResponseDetails,
): Promise<void>
Informa o resultado de uma chamada PublicKeyCredential.isUserVerifyingPlatformAuthenticator(). A extensão precisa chamar isso para cada evento onIsUvpaaRequest recebido.
Parâmetros
-
detalhes
Retorna
-
Promessa<void>
detach()
browser.webAuthenticationProxy.detach(): Promise<string | undefined>
Remove esta extensão como o proxy de solicitação de API da Web Authentication ativo.
Esse método normalmente é chamado quando a extensão detecta que uma sessão de área de trabalho remota foi encerrada. Depois que esse método é retornado, a extensão deixa de ser o proxy de solicitação de API ativo da API Web Authentication.
Consulte o evento onRemoteSessionStateChange para sinalizar uma mudança no anexo da sessão remota de um app nativo para a extensão (possivelmente suspensa).
Retorna
-
Promise<string | undefined>
Eventos
onCreateRequest
browser.webAuthenticationProxy.onCreateRequest.addListener(
callback: function,
)
É acionado quando ocorre uma chamada navigator.credentials.create() da WebAuthn. A extensão precisa fornecer uma resposta chamando completeCreateRequest() com o requestId de requestInfo.
Parâmetros
-
callback
função
O parâmetro
callbacké semelhante a:(requestInfo: CreateRequest) => void
-
requestInfo
-
onGetRequest
browser.webAuthenticationProxy.onGetRequest.addListener(
callback: function,
)
É acionado quando ocorre uma chamada navigator.credentials.get() da WebAuthn. A extensão precisa fornecer uma resposta chamando completeGetRequest() com o requestId de requestInfo.
Parâmetros
-
callback
função
O parâmetro
callbacké semelhante a:(requestInfo: GetRequest) => void
-
requestInfo
-
onIsUvpaaRequest
browser.webAuthenticationProxy.onIsUvpaaRequest.addListener(
callback: function,
)
É disparado quando ocorre uma chamada PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable(). A extensão precisa fornecer uma resposta chamando completeIsUvpaaRequest() com o requestId de requestInfo.
Parâmetros
-
callback
função
O parâmetro
callbacké semelhante a:(requestInfo: IsUvpaaRequest) => void
-
requestInfo
-
onRemoteSessionStateChange
browser.webAuthenticationProxy.onRemoteSessionStateChange.addListener(
callback: function,
)
Um app nativo associado a essa extensão pode fazer com que esse evento seja acionado ao gravar em um arquivo com um 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 precisa estar vazio. Ou seja, não é necessário mudar o conteúdo do arquivo para acionar esse evento.
O aplicativo host nativo pode usar esse mecanismo de evento para sinalizar uma possível mudança no estado da sessão remota (por exemplo, de desconectada para conectada ou vice-versa) enquanto o service worker da extensão está suspenso. No gerenciador desse evento, a extensão pode chamar os métodos de API attach() ou detach(), conforme apropriado.
O listener de eventos precisa ser registrado de forma síncrona no momento do carregamento.
Parâmetros
-
callback
função
O parâmetro
callbacké semelhante a:() => void
onRequestCanceled
browser.webAuthenticationProxy.onRequestCanceled.addListener(
callback: function,
)
É acionado 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 precisa cancelar o processamento da solicitação correspondente no lado do cliente. As extensões não podem concluir uma solicitação depois que ela é cancelada.
Parâmetros
-
callback
função
O parâmetro
callbacké semelhante a:(requestId: number) => void
-
requestId
número
-