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

Disponibilité

Chrome 115 ou version ultérieure MV3+

Types

CreateRequest

Propriétés

  • requestDetailsJson

    chaîne

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

  • requestId

    Nombre

    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

    Nombre

    Le requestId de CreateRequest.

  • responseJson

    chaîne 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

  • nom

    chaîne

GetRequest

Propriétés

  • requestDetailsJson

    chaîne

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

  • requestId

    Nombre

    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

    Nombre

    Le requestId de CreateRequest.

  • responseJson

    chaîne 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

    Nombre

    Identifiant opaque de la requête.

IsUvpaaResponseDetails

Propriétés

  • isUvpaa

    booléen

  • requestId

    Nombre

Méthodes

attach()

<ph type="x-smartling-placeholder"></ph> Promesse
chrome.webAuthenticationProxy.attach(
  callback?: function,
)

Définit cette extension comme proxy de requête 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. Lorsque cette méthode est renvoyée sans erreur, le traitement standard des requêtes WebAuthn est suspendu et des é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 associée doit appeler detach() une fois la session de bureau à distance terminée pour reprendre le traitement des requêtes WebAuthn standards. Les extensions sont automatiquement dissociées si elles sont déchargées.

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

Paramètres

  • rappel

    function facultatif

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

    (error?: string) => void

    • erreur

      chaîne facultatif

Renvoie

  • Promise<chaîne | indéfini>

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

completeCreateRequest()

<ph type="x-smartling-placeholder"></ph> Promesse
chrome.webAuthenticationProxy.completeCreateRequest(
  details: CreateResponseDetails,
  callback?: function,
)

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 (auquel cas, un événement onRequestCanceled est déclenché).

Paramètres

  • rappel

    function facultatif

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

    () => void

Renvoie

  • Promesse<void>

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

completeGetRequest()

<ph type="x-smartling-placeholder"></ph> Promesse
chrome.webAuthenticationProxy.completeGetRequest(
  details: GetResponseDetails,
  callback?: function,
)

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 (auquel cas, un événement onRequestCanceled est déclenché).

Paramètres

  • rappel

    function facultatif

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

    () => void

Renvoie

  • Promesse<void>

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

completeIsUvpaaRequest()

<ph type="x-smartling-placeholder"></ph> Promesse
chrome.webAuthenticationProxy.completeIsUvpaaRequest(
  details: IsUvpaaResponseDetails,
  callback?: function,
)

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

  • rappel

    function facultatif

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

    () => void

Renvoie

  • Promesse<void>

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

detach()

<ph type="x-smartling-placeholder"></ph> Promesse
chrome.webAuthenticationProxy.detach(
  callback?: function,
)

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

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

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

Paramètres

  • rappel

    function facultatif

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

    (error?: string) => void

    • erreur

      chaîne facultatif

Renvoie

  • Promise<chaîne | indéfini>

    Les promesses sont prises en charge dans Manifest V3 et versions ultérieures, mais les rappels sont fournis pour rétrocompatibilité. Vous ne pouvez pas utiliser les deux sur le même appel de fonction. La 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 navigator.credentials.create() WebAuthn se produit. L'extension doit fournir une réponse en appelant completeCreateRequest() avec le requestId à partir de requestInfo.

Paramètres

  • rappel

    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 WebAuthn navigator.credentials.get() se produit L'extension doit fournir une réponse en appelant completeGetRequest() avec le requestId à partir de requestInfo.

Paramètres

  • rappel

    fonction

    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() est effectué. 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 est identique à l'ID de l'extension, dans un répertoire nommé WebAuthenticationProxyRemoteSessionStateChange qui se trouve dans le 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 session à distance (par exemple, passer de la session dissociée à la session associée, ou inversement) alors que le service worker d'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

  • rappel

    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é annulée par l'appelant ou a expiré). À la réception de cet événement, l'extension doit annuler le traitement de la requête correspondante côté client. Une fois annulées, les extensions ne peuvent pas traiter une demande.

Paramètres

  • rappel

    fonction

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

    (requestId: number) => void

    • requestId

      Nombre