CredentialsContainer.get()
==========================

**Expérimental:** **Cette fonction est expérimentale**  
Puisque cette fonction est toujours en développement dans certains navigateurs, veuillez consulter le tableau de compatibilité pour les préfixes à utiliser selon les navigateurs.  
Il convient de noter qu'une fonctionnalité expérimentale peut voir sa syntaxe ou son comportement modifié dans le futur en fonction des évolutions de la spécification.

La méthode **`get()`**, rattachée à l'interface `CredentialsContainer`, renvoie une promesse (`Promise`) qui est résolue en une instance de `Credential` correspondant aux paramètres fournis. Si aucune correspondance n'est trouvée, la promesse sera résolue avec la valeur `null`.

Cette méthode collecte l'ensemble des informations d'authentification stockées dans l'objet `CredentialsContainer` et qui respectent les critères indiqués (définis grâce à l'argument **`options`**). À partir de cet ensemble, l'agent utilisateur sélectionne la meilleure information d'authentification. Selon les options fournies, l'agent utilisateur pourra afficher une boîte de dialogue et demander à l'utilisateur de sélectionner la bonne information.

Cette méthode récupère les informations d'authentification en appelant la méthode `CollectFromCredentialStore` pour chaque type d'authentification permis par l'argument **`options`**. Ainsi, si la propriété `options.password` existe dans l'argument passé, `PasswordCredential``.[[CollectFromCredentialStore]]` sera appelée.

**Note :** Cette méthode ne peut être utilisé que pour les contextes de navigation les plus hauts. Les appels lancés depuis une `<iframe>` résoudront la promesse sans aucun effet.

Syntaxe
-------


```js
var promise = CredentialsContainer.get([options]);
```

### Paramètres

`options` Facultatif

Un objet de type `CredentialRequestOptions` qui contient les critères de la requête. et les options d'interaction avec l'utilisateur. Cet objet peut contenir les propriétés suivantes :

* `password` : un booléen (`Boolean`) qui indique que l'instance `Credential` renvoyée devrait contenir les informations sur l'utilisateur (contrairement aux informations d'authentification fédérées).
* `federated` : un objet `FederatedCredentialRequestOptions` qui contient les critères que doivent respecter les informations d'authentification fédérées. Les options disponibles sont :
    + `providers` : un tableau de chaînes de caractères `DOMString` listant les fournisseurs d'identité potentiels
    + `protocols` : un tableau de chaînes de caractères `DOMString` listant les protocoles de fédération à rechercher.
* `publicKey` : un objet `PublicKeyCredentialRequestOptions` contenant les conditions que doivent respecter les informations d'authentification WebAuthn qui seront renvoyées.
* `mediation` : une chaîne de caractères `String` qui indique si l'utilisateur devra se reconnecter à chaque visite sur le site. Les valeurs valides sont `"silent"`, `"optional"` ou `"required"`.
* `unmediated` : 
Obsolète
 un booléen (`Boolean`) qui indique que l'instance `Credential` renvoyée ne devrait pas nécessiter de médiation avec l'utilisateur.

### Valeur de retour

Une promesse (`Promise`) qui est résolue avec une instance `Credential` correspondant aux paramètres fournis. S'il n'est pas possible d'obtenir une seule instance sans ambiguïté, la promesse sera résolue avec la valeur `null`.

Spécifications
--------------

| Specification |
| --- |
| Credential Management Level 1 # dom-credentialscontainer-get |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.