chrome.webAuthenticationProxy

Description

L'API chrome.webAuthenticationProxy permet au logiciel de bureau à distance exécuté sur un hôte à distance d'intercepter les requêtes de l'API Web Authentication (WebAuthn) afin de les traiter sur un client local.

Autorisations

webAuthenticationProxy

Disponibilité

Chrome 115 et versions ultérieures MV3 et versions ultérieures

Types

CreateRequest

Propriétés

  • requestDetailsJson

    chaîne

    PublicKeyCredentialCreationOptions transmis à navigator.credentials.create(), sérialisé en tant que chaîne JSON. Le format de sérialisation est compatible avec PublicKeyCredential.parseCreationOptionsFromJSON().

  • requestId

    Total

    Identifiant opaque de la requête.

CreateResponseDetails

Propriétés

  • erreur

    Le DOMException généré par la requête à distance, le cas échéant.

  • requestId

    Total

    Le requestId de CreateRequest.

  • responseJson

    chaîne facultative

    Le PublicKeyCredential, généré par la requête à distance, le cas échéant, sérialisé en tant que chaîne JSON en appelant href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson"> PublicKeyCredential.toJSON().

DOMExceptionDetails

Propriétés

  • message

    chaîne

  • nom

    chaîne

GetRequest

Propriétés

  • requestDetailsJson

    chaîne

    PublicKeyCredentialRequestOptions transmis à navigator.credentials.get(), sérialisé en tant que chaîne JSON. Le format de sérialisation est compatible avec PublicKeyCredential.parseRequestOptionsFromJSON().

  • requestId

    Total

    Identifiant opaque de la requête.

GetResponseDetails

Propriétés

  • erreur

    Le DOMException généré par la requête à distance, le cas échéant.

  • requestId

    Total

    Le requestId de CreateRequest.

  • responseJson

    chaîne facultative

    Le PublicKeyCredential, généré par la requête à distance, le cas échéant, sérialisé en tant que chaîne JSON en appelant href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson"> PublicKeyCredential.toJSON().

IsUvpaaRequest

Propriétés

  • requestId

    Total

    Identifiant opaque de la requête.

IsUvpaaResponseDetails

Propriétés

  • isUvpaa

    booléen

  • requestId

    Total

Méthodes

attach()

chrome.webAuthenticationProxy.attach(): Promise<string | undefined>

Définit cette extension comme proxy actif pour les requêtes de l'API Web Authentication.

Les extensions de bureau à distance appellent généralement cette méthode après avoir détecté l'association d'une session à distance à cet hôte. Une fois que cette méthode renvoie sans erreur, le traitement normal des requêtes WebAuthn est suspendu et les événements de cette API d'extension sont déclenchés.

Cette méthode échoue et génère une erreur si une autre extension est déjà associée.

L'extension jointe doit appeler detach() une fois la session de bureau à distance terminée afin de reprendre le traitement normal des requêtes WebAuthn. Les extensions sont automatiquement détachées si elles sont déchargées.

Reportez-vous à l'événement onRemoteSessionStateChange pour signaler un changement d'association de session à distance d'une application native à l'extension (éventuellement suspendue).

Renvoie

  • Promise<string | undefined>

completeCreateRequest()

chrome.webAuthenticationProxy.completeCreateRequest(
  details: CreateResponseDetails,
)
: Promise<void>

Indique le résultat d'un appel navigator.credentials.create(). L'extension doit appeler cette méthode pour chaque événement onCreateRequest qu'elle a reçu, sauf si la requête a été annulée (dans ce cas, un événement onRequestCanceled est déclenché).

Paramètres

Renvoie

  • Promise<void>

completeGetRequest()

chrome.webAuthenticationProxy.completeGetRequest(
  details: GetResponseDetails,
)
: Promise<void>

Indique le résultat d'un appel navigator.credentials.get(). L'extension doit appeler cette méthode pour chaque événement onGetRequest qu'elle a reçu, sauf si la requête a été annulée (dans ce cas, un événement onRequestCanceled est déclenché).

Paramètres

Renvoie

  • Promise<void>

completeIsUvpaaRequest()

chrome.webAuthenticationProxy.completeIsUvpaaRequest(
  details: IsUvpaaResponseDetails,
)
: Promise<void>

Indique le résultat d'un appel PublicKeyCredential.isUserVerifyingPlatformAuthenticator(). L'extension doit appeler cette méthode pour chaque événement onIsUvpaaRequest qu'elle a reçu.

Paramètres

Renvoie

  • Promise<void>

detach()

chrome.webAuthenticationProxy.detach(): Promise<string | undefined>

Supprime cette extension en tant que proxy actif de requête API Web Authentication.

Cette méthode est généralement appelée lorsque l'extension détecte qu'une session de bureau à distance a été interrompue. Une fois cette méthode renvoyée, l'extension cesse d'être le proxy actif de la requête Web Authentication API.

Reportez-vous à l'événement onRemoteSessionStateChange pour signaler un changement d'association de session à distance d'une application native à l'extension (éventuellement suspendue).

Renvoie

  • Promise<string | undefined>

Événements

onCreateRequest

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

Déclenché lorsqu'un appel navigator.credentials.create() WebAuthn se produit. L'extension doit fournir une réponse en appelant completeCreateRequest() avec le requestId de requestInfo.

Paramètres

  • callback

    fonction

    Le paramètre callback se présente comme suit :

    (requestInfo: CreateRequest) => void

onGetRequest

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

Se déclenche lorsqu'un appel navigator.credentials.get() WebAuthn se produit. L'extension doit fournir une réponse en appelant completeGetRequest() avec le requestId de requestInfo.

Paramètres

  • callback

    fonction

    Le paramètre callback se présente comme suit :

    (requestInfo: GetRequest) => void

onIsUvpaaRequest

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

Déclenché lorsqu'un appel PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable() se produit. L'extension doit fournir une réponse en appelant completeIsUvpaaRequest() avec le requestId de requestInfo.

Paramètres

onRemoteSessionStateChange

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

Une application native associée à cette extension peut déclencher cet événement en écrivant dans un fichier dont le nom est égal à l'ID de l'extension dans un répertoire nommé WebAuthenticationProxyRemoteSessionStateChange à l'intérieur du répertoire de données utilisateur par défaut.

Le contenu du fichier doit être vide. Autrement dit, il n'est pas nécessaire de modifier le contenu du fichier pour déclencher cet événement.

L'application hôte native peut utiliser ce mécanisme d'événement pour signaler un éventuel changement d'état de la session à distance (par exemple, de détachée à attachée, ou inversement) alors que le service worker de l'extension est éventuellement suspendu. Dans le gestionnaire de cet événement, l'extension peut appeler les méthodes d'API attach() ou detach() en conséquence.

L'écouteur d'événements doit être enregistré de manière synchrone au moment du chargement.

Paramètres

  • callback

    fonction

    Le paramètre callback se présente comme suit :

    () => void

onRequestCanceled

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

Se déclenche lorsqu'un événement onCreateRequest ou onGetRequest est annulé (parce que la requête WebAuthn a été abandonnée par l'appelant ou parce qu'elle a expiré). Lors de la réception de cet événement, l'extension doit annuler le traitement de la requête correspondante côté client. Les extensions ne peuvent pas traiter une demande une fois qu'elle a été annulée.

Paramètres

  • callback

    fonction

    Le paramètre callback se présente comme suit :

    (requestId: number) => void

    • requestId

      Total