> ## 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 les paramètres d’authentification.

# Paramètres d’authentification de Lock

Vous pouvez envoyer des paramètres au début d’une connexion en les ajoutant à l’objet 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'},
  }
};
```

Plusieurs valeurs de `scope` sont prises en charge. Gardez à l’esprit que les <Tooltip tip="JSON Web Token (JWT) : format de jeton ID standard (et souvent format du jeton d’accès) utilisé pour représenter des assertions de façon sécurisée entre deux parties." cta="Voir le glossaire" href="/docs/fr-ca/glossary?term=JWTs">JWTs</Tooltip> sont envoyés avec chaque requête 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 fois que vous vous êtes connecté avec** fonctionne correctement.

<Card title="Exécuter Lock en local">
  Si vous ne précisez pas manuellement au moins la valeur `scope` par défaut `openid profile email` lors de l’initialisation de Lock, et que vous exécutez votre site Web à partir de `http://localhost` ou `http://127.0.0.1`, vous verrez 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 précisez le `scope` `openid profile email`. Vous pouvez en savoir plus à ce sujet dans le document [Consentement de l’utilisateur et applications tierces](/docs/fr-ca/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](/docs/fr-ca/get-started/apis/scopes).

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

Dans Lock, si vous souhaitez obtenir un token qui permet de récupérer les données de 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 préciser des scopes pour une connexion en particulier. Cela peut être utile si vous souhaitez commencer avec un ensemble de scopes (définis dans le Dashboard), puis demander ensuite des autorisations ou des attributs supplémentaires pour une connexion précise. Pour en savoir plus, consultez la page [Options de configuration de Lock](/docs/fr-ca/libraries/lock/lock-configuration).

### state {string}

Le paramètre `state` est une valeur d’état arbitraire qui sera conservée lors des redirections. Il est utile pour atténuer les [attaques XSRF](https://en.wikipedia.org/wiki/Cross-site_request_forgery) et pour transmettre toute information contextuelle, [comme une URL de retour](/docs/fr-ca/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 un automatiquement. Pour en savoir plus, consultez [le paramètre `state`](/docs/fr-ca/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` indique le nom de l’appareil ou du navigateur qui demande l’authentification.
