> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Documentation de Lock sur la configuration des paramètres d’authentification.

# Paramètres d’authentification de Lock

Vous pouvez transmettre des paramètres au moment de lancer la connexion en les ajoutant à l’objet d’options. L’exemple ci-dessous ajoute un paramètre `state` dont la valeur est `'foo'`.

```js lines theme={null}
var options = {
  auth: {
    params: {state: 'foo'},
  }
};
```

L’exemple ci-dessus serait comparable au déclenchement de la connexion avec `https://{yourDomain}/authorize?state=foo&...`.

Les paramètres suivants sont pris en charge : `scope`, `device`, `nonce` et `state`.

<div id="supported-parameters">
  ## Paramètres pris en charge
</div>

### scope {string}

```js lines theme={null}
var options = {
  auth: {
    params: {scope: 'openid email user_metadata app_metadata picture'},
  }
};
```

Il existe différentes valeurs prises en charge pour `scope`. Gardez à l’esprit que les <Tooltip tip="JSON Web Token (JWT) : format standard de l’ID Token (et souvent du Jeton d’accès) utilisé pour représenter des claims de façon sécuritaire entre deux parties." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=JWTs">JWT</Tooltip> sont envoyés avec chaque requête d’API; il est donc préférable de les garder aussi petits que possible.

La valeur `scope` par défaut dans Lock est `openid profile email`. Cette valeur minimale de `scope` est requise pour que la fonctionnalité **Dernière connexion avec** fonctionne correctement.

<Card title="Exécuter Lock en local">
  Si vous ne spécifiez pas manuellement au moins la valeur `scope` par défaut `openid profile email` lors de l’initialisation de Lock, et que votre site Web s’exécute à partir de `http://localhost` ou de `http://127.0.0.1`, vous obtiendrez l’erreur suivante dans la console du navigateur :

  `Consent required. When using getSSOData, the user has to be authenticated with the following scope: openid profile email`

  Cela **ne** se produira **pas** si vous exécutez votre application en production ou si vous spécifiez le `scope` `openid profile email`. Pour en savoir plus à ce sujet, consultez le document [Consentement de l’utilisateur et applications tierces](/fr-CA/docs/get-started/applications/third-party-applications/user-consent-and-third-party-applications).
</Card>

Pour en savoir plus sur les scopes, consultez la [page de documentation sur les scopes](/fr-CA/docs/get-started/apis/scopes).

<div id="example-retrieve-a-token">
  #### Exemple : récupérer un jeton
</div>

Dans Lock, si vous souhaitez obtenir un jeton qui permet de récupérer les données du profil de l’utilisateur, vous devez ajouter le paramètre `scope`.

```js lines theme={null}
var options = {
  auth: {
    params: {
        scope: 'openid profile'
    }
  }
};
```

Il existe également une option de configuration `connectionScopes` pour Lock, qui vous permet de spécifier des scopes pour une connexion en particulier. Cela peut être utile si vous souhaitez commencer avec un ensemble de scopes (définis dans le tableau de bord), puis demander plus tard des autorisations ou des attributs supplémentaires pour une connexion précise. Pour en savoir plus, consultez la page [Options de configuration de Lock](/fr-CA/docs/libraries/lock/lock-configuration).

### state {string}

Le paramètre `state` est une valeur d’état arbitraire qui sera préservée d’une redirection à l’autre. Il est utile pour atténuer les [attaques XSRF](https://en.wikipedia.org/wiki/Cross-site_request_forgery) et pour conserver toute information contextuelle, [comme une URL de retour](/fr-CA/docs/authenticate/login/logout/redirect-users-after-logout), dont vous pourriez avoir besoin une fois le processus d’authentification terminé. Si aucun paramètre `state` personnalisé n’est fourni, Lock en générera automatiquement un. Pour en savoir plus, consultez [State Parameter](/fr-CA/docs/secure/attack-protection/state-parameters).

### nonce {string}

Le paramètre `nonce` sert à prévenir les attaques par rejeu et est généré automatiquement par Lock si aucune valeur personnalisée n’est fournie.

### device {string}

Le paramètre `device` définit le nom de l’appareil ou du navigateur qui demande l’authentification.
