chrome.webAuthenticationProxy

Description

L'API chrome.webAuthenticationProxy permet aux logiciels de bureau à distance exécutés sur un hôte distant d'intercepter les requêtes de l'API Web Authentication (WebAuthn) afin de les gérer sur un client local.

Autorisations

webAuthenticationProxy

Garantie de disponibilité

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

Types

CreateRequest

Propriétés

  • requestDetailsJson

    chaîne

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

  • requestId

    number

    Identifiant opaque pour la requête.

CreateResponseDetails

Propriétés

  • error

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

  • requestId

    number

    Le requestId de CreateRequest.

  • responseJson

    string facultatif

    Le PublicKeyCredential, généré par la requête distante, 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

  • name

    chaîne

GetRequest

Propriétés

  • requestDetailsJson

    chaîne

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

  • requestId

    number

    Identifiant opaque pour la requête.

GetResponseDetails

Propriétés

  • error

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

  • requestId

    number

    Le requestId de CreateRequest.

  • responseJson

    string facultatif

    Le PublicKeyCredential, généré par la requête distante, 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

    number

    Identifiant opaque pour la requête.

IsUvpaaResponseDetails

Propriétés

  • isUvpaa

    boolean

  • requestId

    number

Méthodes

attach()

Promesse
chrome.webAuthenticationProxy.attach(
  callback?: function,
)

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

Les extensions 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 est renvoyée sans erreur, le traitement régulier des requêtes WebAuthn est suspendu et les événements de cette API d'extension sont déclenchés.

Cette méthode échoue et renvoie une erreur si une autre extension est déjà associée.

L'extension associée 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 dissociées si elles sont déchargées.

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

Paramètres

  • rappel

    fonction facultative

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

    (error?: string)=>void

    • error

      string facultatif

Renvoie

  • Promesse<string|undefined>

    Les promesses sont compatibles avec Manifest V3 et les versions ultérieures, mais des rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux dans le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.

completeCreateRequest()

Promesse
chrome.webAuthenticationProxy.completeCreateRequest(
  details: CreateResponseDetails,
  callback?: function,
)

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

Paramètres

  • rappel

    fonction facultative

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

    ()=>void

Renvoie

  • Promise<void>

    Les promesses sont compatibles avec Manifest V3 et les versions ultérieures, mais des rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux dans le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.

completeGetRequest()

Promesse
chrome.webAuthenticationProxy.completeGetRequest(
  details: GetResponseDetails,
  callback?: function,
)

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

Paramètres

  • rappel

    fonction facultative

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

    ()=>void

Renvoie

  • Promise<void>

    Les promesses sont compatibles avec Manifest V3 et les versions ultérieures, mais des rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux dans le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.

completeIsUvpaaRequest()

Promesse
chrome.webAuthenticationProxy.completeIsUvpaaRequest(
  details: IsUvpaaResponseDetails,
  callback?: function,
)

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

Paramètres

  • rappel

    fonction facultative

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

    ()=>void

Renvoie

  • Promise<void>

    Les promesses sont compatibles avec Manifest V3 et les versions ultérieures, mais des rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux dans le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.

detach()

Promesse
chrome.webAuthenticationProxy.detach(
  callback?: function,
)

Supprime cette extension du proxy de requêtes actif de l'API Web Authentication.

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

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

Paramètres

  • rappel

    fonction facultative

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

    (error?: string)=>void

    • error

      string facultatif

Renvoie

  • Promesse<string|undefined>

    Les promesses sont compatibles avec Manifest V3 et les versions ultérieures, mais des rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux dans le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.

Événements

onCreateRequest

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

Se déclenche lorsqu'un appel WebAuthn navigator.credentials.create() a lieu. L'extension doit fournir une réponse en appelant completeCreateRequest() avec le requestId à partir de requestInfo.

Paramètres

onGetRequest

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

Se déclenche lorsqu'un appel WebAuthn navigateurator.credentials.get() a lieu. L'extension doit fournir une réponse en appelant completeGetRequest() avec le requestId à partir de requestInfo

Paramètres

  • rappel

    function

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

    (requestInfo: GetRequest)=>void

onIsUvpaaRequest

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

Se déclenche lorsqu'un appel PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable() a lieu. L'extension doit fournir une réponse en appelant completeIsUvpaaRequest() avec le requestId à partir 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 correspond à l'ID de l'extension, dans un répertoire nommé WebAuthenticationProxyRemoteSessionStateChange au sein 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 d'une session distante (c'est-à-dire passer d'une session dissociée à une session associée, ou inversement), alors que le service worker d'extension est peut-être suspendu. Dans le gestionnaire de cet événement, l'extension peut appeler les méthodes 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

  • rappel

    function

    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é annulé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 demande correspondante côté client. Les extensions ne peuvent pas traiter une demande une fois qu'elle a été annulée.

Paramètres

  • rappel

    function

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

    (requestId: number)=>void

    • requestId

      number