> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev-docs-event-stream-action-templates.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Paramètres d’authentification Lock

> La documentation de Lock sur la définition des paramètres d’authentification.

Vous pouvez envoyer des paramètres lors du démarrage d’une connexion en les ajoutant à l’objet options. L’exemple ci-dessous ajoute un paramètre `state` dont la valeur est égale à `'foo'`.

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

L’exemple ci-dessus serait analogue 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`.

## Paramètres pris en charge

### scope {string}

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

Différentes valeurs sont prises en charge pour le paramètre scope. Gardez à l’esprit que les <Tooltip href="/docs/fr-ca/glossary?term=json-web-token" tip="Jeton Web JSON (JWT)
Format standard de jeton d’ID (et souvent de jeton d’accès) utilisé pour représenter en toute sécurité des demandes entre deux parties." cta="Voir le glossaire">JWT</Tooltip> sont envoyés sur chaque demande d’API, il est donc souhaitable de les garder aussi petits que possible.

Dans Lock, la valeur par défaut du paramètre `scope` est `openid profile email`. Cette valeur minimale du paramètre scope est requise pour que la fonctionnalité **La dernière fois que vous vous êtes connecté avec** fonctionne correctement.

<Card title="Exécuter Lock localement">
  Si vous ne spécifiez pas au moins la permission par défaut du `openid profile email` lorsque vous initialisez Lock, et que vous exécutez votre site Web à partir de `http://localhost` ou `http://127.0.0.1`, vous recevrez l’erreur suivante dans la console de votre navigateur :

  `Consent required. Lorsque vous utilisez la méthode getSSOData, l’utilisateur doit être authentifié avec la permission suivante : openid profile email`

  Cela ne se produira **pas** si vous exécutez votre application en production ou si vous spécifiez la permission `openid profile email`. Vous pouvez en lire davantage à 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 plus d’informations sur les permissions, voir la [page de documentation des permissions](/docs/fr-ca/get-started/apis/scopes).

#### Exemple : récupérer un jeton

Dans Lock, si vous souhaitez recevoir un jeton avec la possibilité de récupérer les données de profil de l’utilisateur, vous devez ajouter le paramètre `scope`.

```javascript 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 permissions sur n’importe quelle connexion spécifique. Cela sera utile si vous souhaitez commencer par un ensemble de permissions (définies sur le tableau de bord), et demander plus tard des autorisations ou des attributs supplémentaires à partir d’une connexion spécifique. Pour en savoir plus à ce sujet, 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 maintenue à travers les redirections. Ce paramètre est utile pour atténuer les [attaques XSRF](https://en.wikipedia.org/wiki/Cross-site_request_forgery) et pour toute information contextuelle, [par exemple, une URL de retour](/docs/fr-ca/authenticate/login/logout/redirect-users-after-logout) dont vous pourriez avoir besoin après le processus d’authentification. Si un paramètre state personnalisé n’est pas fourni, Lock en générera automatiquement un. Pour plus d’informations, consultez la section [Paramètre state](/docs/fr-ca/secure/attack-protection/state-parameters).

### nombre aléatoire {string}

Le paramètre `nonce` est utilisé pour aider à prévenir les attaques par réinsertion et sera automatiquement généré par Lock si une valeur personnalisée n’est pas fournie.

### device {string}

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