Descrição
A API chrome.webAuthenticationProxy
permite que softwares de área de trabalho remota em execução em um host remoto interceptem 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
number
Um identificador opaco para a solicitação.
CreateResponseDetails
Propriedades
-
erro
DOMExceptionDetails optional
A
DOMException
gerada pela solicitação remota, se houver. -
requestId
number
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
number
Um identificador opaco para a solicitação.
GetResponseDetails
Propriedades
-
erro
DOMExceptionDetails optional
A
DOMException
gerada pela solicitação remota, se houver. -
requestId
number
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
number
Um identificador opaco para a solicitação.
IsUvpaaResponseDetails
Propriedades
-
isUvpaa
booleano
-
requestId
number
Métodos
attach()
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 a esse host. Quando esse método é retornado sem erro, o processamento regular das solicitações do WebAuthn é suspenso e os eventos dessa API de extensão são gerados.
Esse método falhará com um erro se uma extensão diferente 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 de solicitações da WebAuthn. As extensões serão removidas automaticamente se forem descarregadas.
Consulte o evento onRemoteSessionStateChange
para sinalizar uma alteração no anexo de sessão remota de um aplicativo nativo para a extensão (possivelmente suspensa).
Parâmetros
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(error?: string) => void
-
erro
string opcional
-
Retorna
-
Promessa<string | indefinido>
O Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.
completeCreateRequest()
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
é disparado).
Parâmetros
-
detalhes
-
callback
função opcional
O parâmetro
callback
tem esta aparência:() => void
Retorna
-
Promessa<void>
O Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.
completeGetRequest()
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
é disparado).
Parâmetros
-
detalhes
-
callback
função opcional
O parâmetro
callback
tem esta aparência:() => void
Retorna
-
Promessa<void>
O Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.
completeIsUvpaaRequest()
chrome.webAuthenticationProxy.completeIsUvpaaRequest(
details: IsUvpaaResponseDetails,
callback?: function,
)
Informa o resultado de uma chamada PublicKeyCredential.isUserVerifyingPlatformAuthenticator()
. A extensão precisa chamar esse método para cada evento onIsUvpaaRequest
recebido.
Parâmetros
-
detalhes
-
callback
função opcional
O parâmetro
callback
tem esta aparência:() => void
Retorna
-
Promessa<void>
O Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.
detach()
chrome.webAuthenticationProxy.detach(
callback?: function,
)
Faz com que a extensão deixe de ser o proxy de solicitação ativo da API Web Authentication.
Normalmente, esse método é chamado quando a extensão detecta que uma sessão de área de trabalho remota foi encerrada. Quando esse método é retornado, a extensão deixa de ser o proxy de solicitação ativo da API Web Authentication.
Consulte o evento onRemoteSessionStateChange
para sinalizar uma alteração no anexo de sessão remota de um aplicativo nativo para a extensão (possivelmente suspensa).
Parâmetros
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(error?: string) => void
-
erro
string opcional
-
Retorna
-
Promessa<string | indefinido>
O Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.
Eventos
onCreateRequest
chrome.webAuthenticationProxy.onCreateRequest.addListener(
callback: function,
)
Dispara 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
tem esta aparência:(requestInfo: CreateRequest) => void
-
requestInfo
-
onGetRequest
chrome.webAuthenticationProxy.onGetRequest.addListener(
callback: function,
)
Ativa quando uma chamada WebAuthn navigator.credentials.get() ocorre. A extensão precisa fornecer uma resposta chamando completeGetRequest()
com 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,
)
Ativa quando ocorre uma chamada PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()
. A extensão precisa fornecer uma resposta chamando completeIsUvpaaRequest()
com 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 padrão de dados do usuário.
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 eventos para sinalizar uma possível alteração de estado de sessão remota (por exemplo, de desanexada para anexada ou vice-versa) enquanto o service worker de extensão possivelmente está suspenso. No manipulador desse evento, a extensão pode chamar os métodos de API attach()
ou detach()
adequadamente.
O listener de eventos precisa ser registrado de forma síncrona no tempo de carregamento.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:() => void
onRequestCanceled
chrome.webAuthenticationProxy.onRequestCanceled.addListener(
callback: function,
)
Dispara quando um evento onCreateRequest
ou onGetRequest
é cancelado (porque a solicitação 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 depois que ela é cancelada.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:(requestId: number) => void
-
requestId
number
-