> ## 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.

> Gestion des utilisateurs avec Auth0.Swift

# Auth0.swift: Gestion des utilisateurs

Le <Tooltip tip="Management API : un produit qui permet aux clients d’effectuer des tâches administratives." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=Management+API">Management API</Tooltip> offre la fonctionnalité [de liaison de comptes d’utilisateur](/fr-CA/docs/manage-users/user-accounts/user-account-linking), qui vous permet de lier et de dissocier des comptes d’utilisateur distincts provenant de différents fournisseurs afin de les rattacher à un seul profil. Elle vous permet également de mettre à jour les métadonnées de l’utilisateur et d’autres renseignements de profil.

<div id="link-users">
  ## Lier des utilisateurs
</div>

Lier des comptes utilisateur permet à un utilisateur de s’authentifier avec n’importe lequel de ses comptes et, peu importe celui utilisé, de retrouver le même profil à la connexion. Par défaut, Auth0 traite tous ces comptes comme des profils distincts. Donc, si vous voulez que les comptes d’un utilisateur soient liés, c’est la méthode à utiliser.

La méthode `link` accepte deux paramètres : l’ID utilisateur du profil principal et le <Tooltip tip="Jeton d’accès : justificatif d’autorisation, sous la forme d’une chaîne opaque ou d’un JWT, utilisé pour accéder à une API." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=Access+Token">Jeton d’accès</Tooltip> du profil secondaire (le jeton obtenu après la connexion avec cette identité). L’ID utilisateur en question est l’identifiant unique de ce compte utilisateur. Si l’ID est au format `facebook|1234567890`, l’ID requis est la partie après la barre verticale (dans ce cas, `1234567890`).

```swift lines theme={null}
Auth0
   .users(token: "user-scoped access token")
   .link(userId, withOtherUserToken: "another user token")
   .start { result in
      switch result {
      case .success(let userInfo):
        print("User: \(userInfo)")
      case .failure(let error):
        print(error)
      }
   }
```

<div id="unlink-users">
  ## Dissocier des utilisateurs
</div>

La dissociation d’utilisateurs suit un processus semblable à la liaison d’utilisateurs. La méthode `unlink` prend trois paramètres : l’ID utilisateur du profil secondaire, le fournisseur du profil secondaire (le <Tooltip tip="Fournisseur d’identité (IdP) : service qui stocke et gère les identités numériques." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=identity+provider">fournisseur d’identité</Tooltip> de la connexion), et l’ID utilisateur du profil principal.
Les paramètres se lisent essentiellement comme suit : « Dissocier cet **utilisateur secondaire** (avec ce **fournisseur**) de cet **utilisateur principal** ».

```swift lines theme={null}
Auth0
   .users(token: "user-scoped access token")
   .unlink(identityId: identifier, provider: provider, fromUserId:userId)
   .start { result in
      switch result {
      case .success(let userInfo):
        print("User: \(userInfo)")
      case .failure(let error):
        print(error)
      }
   }
```

Lorsque des comptes sont liés, les métadonnées du profil du compte secondaire ne sont pas fusionnées avec celles du profil du compte principal. De même, lorsque des comptes sont dissociés, le profil du compte secondaire ne conserve pas les métadonnées du profil du compte principal.

<div id="retrieve-user-metadata">
  ## Récupérer les métadonnées de l’utilisateur
</div>

```swift lines theme={null}
Auth0
    .users(token: "user-scoped access token")
    .get(userId, fields: ["user_metadata"], include: true)
    .start { result in
        switch result {
        case .success(let userInfo):
            print("User: \(userInfo)")
        case .failure(let error):
            print(error)
        }
    }
```

<div id="update-user-metadata">
  ## Mettre à jour les métadonnées de l’utilisateur
</div>

Lorsque vous mettez à jour les métadonnées de l’utilisateur, créez un objet `userMetadata`, puis appelez la méthode `patch` en lui passant l’ID utilisateur et l’objet `userMetadata`. Les valeurs de cet objet remplaceront les valeurs existantes ayant la même clé, ou en ajouteront de nouvelles si elles n’existent pas encore dans les métadonnées de l’utilisateur.

```swift lines theme={null}
Auth0
    .users(token: "user-scoped access token")
    .patch("user identifier", userMetadata: ["first_name": "John", "last_name": "Doe"])
    .start { result in
        switch result {
        case .success(let userInfo):
          print("User: \(userInfo)")
        case .failure(let error)
          print(error)
        }
    }
```
