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

# Administration déléguée : Hook de requête des adhésions

> Découvrez comment utiliser le hook de requête des adhésions avec l’extension Delegated Administration (Administration déléguée).

Lors de la création d’un nouvel utilisateur, l’interface utilisateur affiche un menu déroulant où vous pouvez choisir le ou les adhésions que vous souhaitez attribuer à l’utilisateur. Ces adhésions sont ensuite définies à l’aide du **Membership Query Hook (Appel de requête des adhésions)**.

<div id="hook-contract">
  ## Contrat Hook
</div>

* **ctx** : Objet contextuel.
* **callback(error, \{ createMemberships: true/false, memberships: })** : Rappel auquel vous pouvez renvoyer une erreur et un objet contenant la configuration des adhésions.

<div id="sample-use">
  ## Exemple d’utilisation
</div>

Les utilisateurs du service informatique doivent pouvoir créer des utilisateurs dans d’autres services. Les utilisateurs des autres services ne doivent pouvoir créer des utilisateurs que pour leur propre service.

```javascript lines theme={null}
function(ctx, callback) {
  var currentDepartment = ctx.payload.user.app_metadata && ctx.payload.user.app_metadata.department;
  if (!currentDepartment || !currentDepartment.length) {
    return callback(null, [ ]);
  }

  if (currentDepartment === 'IT') {
    return callback(null, [ 'IT', 'HR', 'Finance', 'Marketing' ]);
  }

  return callback(null, [ ctx.payload.user.app_metadata.department ]);
}
```

<div id="notes">
  ## Remarques
</div>

Étant donné que vous ne pouvez utiliser cette requête que dans l’interface utilisateur (IU), vous devrez attribuer les adhésions à l’aide de **Write Hook** (Appel d’écriture) si vous devez appliquer des règles concernant l’attribution des utilisateurs à des services spécifiques.

S’il n’existe qu’un seul groupe d’adhésion possible, le champ Adhésions ne s’affichera pas dans l’interface utilisateur (IU).

Vous pouvez permettre à l’utilisateur final de saisir n’importe quelle valeur dans le champ **memberships (adhésions)** en définissant **createMemberships** sur true :

```javascript lines theme={null}
function(ctx, callback) {
  var currentDepartment = ctx.payload.user.app_metadata.department;
  if (!currentDepartment || !currentDepartment.length) {
    return callback(null, [ ]);
  }

  return callback(null, {
    createMemberships: ctx.payload.user.app_metadata.department === 'IT' ? true : false,
    memberships: [ ctx.payload.user.app_metadata.department ]
  });
}
```

<div id="learn-more">
  ## En savoir plus
</div>

* [Administration déléguée : Hook d’accès](/docs/fr-CA/fr-ca/customize/extensions/delegated-administration-extension/delegated-administration-hooks/delegated-administration-access-hook)
* [Administration déléguée : Hook de filtrage](/docs/fr-CA/fr-ca/customize/extensions/delegated-administration-extension/delegated-administration-hooks/delegated-administration-filter-hook)
* [Administration déléguée : Requête de paramètres du hook](/docs/fr-CA/fr-ca/customize/extensions/delegated-administration-extension/delegated-administration-hooks/delegated-administration-settings-query-hook)
* [Administration déléguée : Write Hook](/docs/fr-CA/fr-ca/customize/extensions/delegated-administration-extension/delegated-administration-hooks/delegated-administration-write-hook)
