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 traiter sur un client local.
Autorisations
webAuthenticationProxyDisponibilité
Types
CreateRequest
Propriétés
-
requestDetailsJson
chaîne
Le
PublicKeyCredentialCreationOptionstransmis ànavigator.credentials.create(), sérialisé en tant que chaîne JSON. Le format de sérialisation est compatible avecPublicKeyCredential.parseCreationOptionsFromJSON(). -
requestId
nombre
Identifiant opaque de la requête.
CreateResponseDetails
Propriétés
-
erreur
DOMExceptionDetails facultatif
DOMExceptiongénéré par la requête distante, le cas échéant. -
requestId
nombre
requestIddeCreateRequest. -
responseJson
chaîne facultatif
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
PublicKeyCredentialRequestOptionstransmis ànavigator.credentials.get(), sérialisé en tant que chaîne JSON. Le format de sérialisation est compatible avecPublicKeyCredential.parseRequestOptionsFromJSON(). -
requestId
nombre
Identifiant opaque de la requête.
GetResponseDetails
Propriétés
-
erreur
DOMExceptionDetails facultatif
DOMExceptiongénéré par la requête distante, le cas échéant. -
requestId
nombre
requestIddeCreateRequest. -
responseJson
chaîne facultatif
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()
browser.webAuthenticationProxy.attach(): Promise<string | undefined>
Définit cette extension comme proxy de requête d'API d'authentification Web actif.
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 est renvoyée sans erreur, le traitement standard des requêtes WebAuthn est suspendu et les événements de cette API d'extension sont déclenchés.
Cette méthode échoue avec 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).
Renvoie
-
Promise<string | undefined>
completeCreateRequest()
browser.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 (auquel cas un événement onRequestCanceled est déclenché).
Paramètres
-
détails
Renvoie
-
Promise<void>
completeGetRequest()
browser.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 (auquel cas un événement onRequestCanceled est déclenché).
Paramètres
-
détails
Renvoie
-
Promise<void>
completeIsUvpaaRequest()
browser.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
-
détails
Renvoie
-
Promise<void>
detach()
browser.webAuthenticationProxy.detach(): Promise<string | undefined>
Supprime cette extension en tant que proxy de requête d'API Web Authentication actif.
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 de requête d'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).
Renvoie
-
Promise<string | undefined>
Événements
onCreateRequest
browser.webAuthenticationProxy.onCreateRequest.addListener(
callback: function,
)
Se déclenche lorsqu'un appel WebAuthn navigator.credentials.create() se produit. L'extension doit fournir une réponse en appelant completeCreateRequest() avec le requestId de requestInfo.
Paramètres
-
callback
fonction
Le paramètre
callbackse présente comme suit :(requestInfo: CreateRequest) => void
-
requestInfo
-
onGetRequest
browser.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 de requestInfo.
Paramètres
-
callback
fonction
Le paramètre
callbackse présente comme suit :(requestInfo: GetRequest) => void
-
requestInfo
-
onIsUvpaaRequest
browser.webAuthenticationProxy.onIsUvpaaRequest.addListener(
callback: function,
)
Se déclenche lorsqu'un appel PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable() se produit. L'extension doit fournir une réponse en appelant completeIsUvpaaRequest() avec le requestId de requestInfo.
Paramètres
-
callback
fonction
Le paramètre
callbackse présente comme suit :(requestInfo: IsUvpaaRequest) => void
-
requestInfo
-
onRemoteSessionStateChange
browser.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, situé 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 la session à distance (par exemple, de "détaché" à "associé", 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
callbackse présente comme suit :() => void
onRequestCanceled
browser.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é interrompue par l'appelant ou parce qu'elle a expiré). Lorsqu'elle reçoit cet événement, l'extension doit annuler le traitement de la requête correspondante côté client. Les extensions ne peuvent pas traiter une requête une fois qu'elle a été annulée.
Paramètres
-
callback
fonction
Le paramètre
callbackse présente comme suit :(requestId: number) => void
-
requestId
nombre
-