Descrição
A API chrome.webAuthenticationProxy
permite que um software de Área de Trabalho remota executado em um host remoto intercepte solicitações da API Web Authentication (WebAuthn) para processá-las em um cliente local.
Permissões
webAuthenticationProxy
Disponibilidade
Tipos
CreateRequest
Propriedades
- requestDetailsJson
string
O
PublicKeyCredentialCreationOptions
transmitido paranavigator.credentials.create()
, serializado como uma string JSON. O formato de serialização é compatível comPublicKeyCredential.parseCreationOptionsFromJSON()
. - requestId
número
Um identificador opaco da solicitação.
CreateResponseDetails
Propriedades
- erro
DOMExceptionDetails opcional
O
DOMException
gerado pela solicitação remota, se houver. - requestId
número
O
requestId
doCreateRequest
. - 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
PublicKeyCredentialRequestOptions
transmitido paranavigator.credentials.get()
, serializado como uma string JSON. O formato de serialização é compatível comPublicKeyCredential.parseRequestOptionsFromJSON()
. - requestId
número
Um identificador opaco da solicitação.
GetResponseDetails
Propriedades
- erro
DOMExceptionDetails opcional
O
DOMException
gerado pela solicitação remota, se houver. - requestId
número
O
requestId
doCreateRequest
. - 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 da solicitação.
IsUvpaaResponseDetails
Propriedades
- isUvpaa
booleano
- requestId
número
Métodos
attach()
chrome.webAuthenticationProxy.attach(): Promise<string | undefined>
Faz com que essa extensão seja o proxy de solicitação da API Web Authentication ativa.
As extensões de área de trabalho remota geralmente chamam esse método depois de detectar a anexação de uma sessão remota a este host. Quando esse método retorna sem erros, o processamento regular de solicitações 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 WebAuthn. As extensões são desvinculadas automaticamente se forem descarregadas.
Consulte o evento onRemoteSessionStateChange
para sinalizar uma mudança de vinculação de sessão remota de um aplicativo nativo para a extensão (possivelmente suspensa).
Retorna
-
Promise<string | undefined>
completeCreateRequest()
chrome.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
é disparado).
Parâmetros
- detalhes
Retorna
-
Promise<void>
completeGetRequest()
chrome.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
é disparado).
Parâmetros
- detalhes
Retorna
-
Promise<void>
completeIsUvpaaRequest()
chrome.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
-
Promise<void>
detach()
chrome.webAuthenticationProxy.detach(): Promise<string | undefined>
Remove essa extensão como o proxy de solicitação de API Web Authentication ativo.
Esse método normalmente é chamado quando a extensão detecta que uma sessão de área de trabalho remota foi encerrada. Quando esse método retorna, a extensão deixa de ser o proxy de solicitação da API Web Authentication ativa.
Consulte o evento onRemoteSessionStateChange
para sinalizar uma mudança de vinculação de sessão remota de um aplicativo nativo para a extensão (possivelmente suspensa).
Retorna
-
Promise<string | undefined>
Eventos
onCreateRequest
chrome.webAuthenticationProxy.onCreateRequest.addListener(
callback: function,
)
Disparado quando uma chamada navigator.credentials.create()
da WebAuthn ocorre. A extensão precisa fornecer uma resposta chamando completeCreateRequest()
com o requestId
de requestInfo
.
Parâmetros
- callback
função
O parâmetro
callback
tem esta aparência:(requestInfo: CreateRequest) => void
- requestInfo
-
onGetRequest
chrome.webAuthenticationProxy.onGetRequest.addListener(
callback: function,
)
Disparado quando uma chamada navigator.credentials.get() do WebAuthn ocorre. 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
- requestInfo
-
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
- callback
função
O parâmetro
callback
tem esta aparência:(requestInfo: IsUvpaaRequest) => void
- requestInfo
-
onRemoteSessionStateChange
chrome.webAuthenticationProxy.onRemoteSessionStateChange.addListener(
callback: function,
)
Um aplicativo nativo associado a essa extensão pode fazer com que esse evento seja acionado gravando 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 de estado da sessão remota (ou seja, de desanexada para anexada ou vice-versa) enquanto o service worker da extensão está possivelmente suspenso. No manipulador desse evento, a extensão pode chamar os métodos da API attach()
ou detach()
, conforme necessário.
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 WebAuthn foi interrompida pelo chamador 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
tem esta aparência:(requestId: number) => void
- requestId
número
-