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
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
-
error
DOMExceptionDetails opcional
O
DOMException
gerado pela solicitação remota, se houver. -
requestId
number
O
requestId
doCreateRequest
. -
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
-
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
-
error
DOMExceptionDetails opcional
O
DOMException
gerado pela solicitação remota, se houver. -
requestId
number
O
requestId
doCreateRequest
. -
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()
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
-
Promise<string | undefined>
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()
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
-
detalhes
-
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()
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
-
detalhes
-
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()
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
-
detalhes
-
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()
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
-
Promise<string | undefined>
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
-
callback
função
O parâmetro
callback
tem esta aparência:(requestInfo: CreateRequest) => void
-
requestInfo
-
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
-
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 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
-