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

# Enregistrer un nouvel utilisateur avec une clé d’accès

> Lance l’enregistrement d’une clé d’accès pour un nouvel utilisateur lors de l’inscription. Renvoie les paramètres de création WebAuthn et l’`auth_session` nécessaire aux utilisateurs pour terminer l’inscription.

## Point de terminaison

`POST /passkey/register`

Initie l’enregistrement d’une clé d’accès pour un nouvel utilisateur lors de l’inscription. Le point de terminaison crée une session d’inscription de clé d’accès, vérifie que le profil utilisateur fourni respecte les attributs d’inscription de la connexion à la base de données et renvoie les paramètres de création WebAuthn que votre application transmet à l’authentificateur de plateforme. Une fois que l’authentificateur renvoie une attestation, vous terminez l’inscription en échangeant l’assertion à `/oauth/token` à l’aide du type d’autorisation par clé d’accès.

### Remarques

* Les [types d’autorisation](https://auth0.com/docs/fr-ca/get-started/applications/application-settings.md#grant-types) de l’application doivent inclure : `urn:okta:params:oauth:grant-type:webauthn`.
* L’application doit être une [application de première partie](https://auth0.com/docs/get-started/applications/confidential-and-public-applications.md). Les applications tierces ne sont pas autorisées à appeler ce point de terminaison.
* L’application doit être conforme à OIDC.
* La requête doit être adressée à un [domaine personnalisé](https://auth0.com/docs/customize/custom-domains.md) configuré pour votre tenant. Les requêtes adressées au domaine Auth0 par défaut (`{tenant}.auth0.com`) sont rejetées.
* `user_profile` doit contenir tous les identifiants marqués comme `required` pour l’inscription sur la connexion (généralement `email`, `phone_number` ou `username`). Les identifiants supplémentaires peuvent être `optional`.
* Un utilisateur est considéré comme existant si l’un des identifiants configurés correspond à un utilisateur existant; si un identifiant soumis correspond à un utilisateur existant, la requête échoue avec `invalid_request`.

## Corps de la requête

**client\_id** `string` *required*

Le `client_id` de votre application.

**client\_secret** `string`

Le `client_secret` de votre application. Obligatoire pour les applications confidentielles qui utilisent la méthode d’authentification au point de terminaison de jetons `client_secret_post`.

**realm** `string`

Nom de la connexion à la base de données auprès de laquelle l’utilisateur s’inscrit. S’il est omis, Auth0 utilise la connexion à la base de données par défaut de votre tenant pour l’application.

**organization** `string`

ID de l’[Auth0 Organization](https://auth0.com/docs/manage-users/organizations.md) à laquelle l’utilisateur se connecte. Obligatoire lorsque `organization_usage` de l’application est défini à `require`.

**user\_profile** `object` *required*

Attributs de profil du nouvel utilisateur. Les propriétés doivent correspondre aux attributs d’inscription (`required` et `optional`) configurés sur la connexion à la base de données. Toute propriété non reconnue entraîne l’échec de la requête avec `invalid_request`.

**propriétés**

**email** `string`

Adresse courriel de l’utilisateur.

**phone\_number** `string`

Numéro de téléphone de l’utilisateur au format E.164 (1 à 30 caractères, préfixe international `+`). Par exemple, `+14155552671`.

**username** `string`

Nom d’utilisateur. Validé selon la politique de nom d’utilisateur de la connexion (longueur et caractères autorisés).

**name** `string`

Nom complet (1 à 300 caractères).

**given\_name** `string`

Prénom (1 à 150 caractères).

**family\_name** `string`

Nom de famille (1 à 150 caractères).

**nickname** `string`

Surnom (1 à 300 caractères).

**picture** `string`

URL pointant vers la photo de profil de l’utilisateur.

**user\_metadata** `object`

Métadonnées utilisateur facultatives à associer au nouvel utilisateur. Jusqu’à 10 champs de type chaîne.

## Réponse

Une réponse réussie contient les paramètres de création WebAuthn et une valeur `auth_session` qui associe l’attestation ultérieure à cette requête d’enregistrement.

**auth\_session** `string`

Identifiant de session opaque. Transmettez-le dans la requête d’échange de jeton qui termine l’enregistrement de la clé d’accès.

**authn\_params\_public\_key** `object`

`PublicKeyCredentialCreationOptions` WebAuthn à utiliser avec l’authentificateur de plateforme.

**propriétés**

**challenge** `string`

Challenge généré par Auth0 que l’authentificateur doit signer lors de l’attestation.

**timeout** `integer`

Durée de validité du challenge en millisecondes.

**rp** `object`

Identité de la partie utilisatrice.

**propriétés**

**id** `string`

Identifiant de la partie utilisatrice (ID RP). Par défaut, il s’agit du domaine personnalisé du tenant ou de l’identifiant de partie utilisatrice personnalisé configuré.

**name** `string`

Nom d’affichage de la partie utilisatrice. Identique à `rp.id`.

**user** `object`

Identifiant utilisateur WebAuthn auquel vous associez la nouvelle information d’identification.

**propriétés**

**id** `string`

Identifiant utilisateur généré par le serveur.

**name** `string`

Identifiant destiné à l’utilisateur (généralement la valeur ayant la plus haute priorité fournie dans `user_profile`, comme `email`).

**displayName** `string`

Nom d’affichage (`user_profile.name` s’il est fourni, sinon l’identifiant choisi).

**pubKeyCredParams** `array`

[Algorithmes à clé publique](https://auth0.com/docs/fr-ca/get-started/applications/signing-algorithms.md) autorisés pour les informations d’identification, par ordre de préférence. Auth0 renvoie EdDSA (`-8`), ES256 (`-7`) et RS256 (`-257`).

**authenticatorSelection** `object`

Critères de sélection de l’authentificateur.

**propriétés**

**residentKey** `string`

Exigence relative à la clé résidente. Renvoie toujours `required`.

**userVerification** `string`

Exigence de vérification de l’utilisateur. Renvoie toujours `preferred`.

| État | Description |
| - | - |
| 200 | Challenge d’enregistrement généré avec succès. |
| 400 | Requête non valide. Les causes fréquentes comprennent l’absence d’identifiants `user_profile` requis, un champ `user_profile` non valide, un champ `user_metadata` non valide, un utilisateur existant, une application non configurée pour l’authentification par clé d’accès, une requête effectuée hors d’un domaine personnalisé ou une application tierce. |
| 401 | Non autorisé. Informations d’identification du client non valides. |
| 404 | Les API Passkey ne sont pas activées pour le tenant. |
| 429 | Trop de requêtes. La limite de requêtes par adresse IP a été dépassée. |
