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

# PHP : Utiliser Management API avec Auth0-PHP

> Intégrer les points de terminaison de Management API d’Auth0 dans vos applications PHP.

La trousse SDK Auth0 pour PHP fournit une classe `Auth0\SDK\API\Management`, qui contient les méthodes que vous pouvez utiliser pour accéder à la [Management API](https://auth0.com/docs/api/management/v2) et effectuer des opérations sur votre locataire Auth0. En utilisant cette interface, vous pouvez facilement :

* Rechercher et créer des utilisateurs
* Créer et mettre à jour des applications
* Récupérer des entrées de journal
* Gérer les règles

… et bien d’autres choses encore. Consultez notre [Référence pour l’API](https://auth0.com/docs/api/management/v2) pour en savoir plus sur les possibilités!
Authentification

Pour utiliser <Tooltip href="/docs/fr-ca/glossary?term=management-api" tip="Management API
Un produit permettant aux clients d’effectuer des tâches administratives." cta="Voir le glossaire">Management API</Tooltip>, vous devez vous authentifier de l’une des deux manières suivantes :

* Pour un accès temporaire ou des tests, vous pouvez [générer manuellement un jeton API](/docs/fr-ca/secure/tokens/access-tokens/management-api-access-tokens) et l’enregistrer dans votre fichier `.env`.
* Pour un accès étendu, vous devez créer et exécuter une autorisation Authentifiants client lorsque l’accès est requis. Ce processus est détaillé sur la [page Authentication API](/docs/fr-ca/libraries/auth0-php/using-the-authentication-api-with-auth0-php).

Quelle que soit la méthode utilisée, le jeton généré doit avoir la permission requise pour les opérations que votre application souhaite exécuter. Consultez la [documentation de l’API](/docs/fr-ca/api/management/v2) pour connaître les permissions requises pour le point de terminaison spécifique auquel vous essayez d’accéder.

Pour autoriser les permissions nécessaires :

1. Accédez à l’onglet [API](https://manage.auth0.com/#/apis) > Auth0 Management API > **Applications de communication entre machines**.
2. Trouvez votre application et autorisez-la.
3. Cliquez sur la flèche pour développer la ligne et sélectionnez les permissions requises.

Vous pouvez maintenant vous authentifier de l’une des deux manières décrites ci-dessus et utiliser ce jeton pour effectuer des opérations :

```php lines theme={null}
// 👆 We're continuing from the "getting started" guide linked in "Prerequisites" above. Append this to the index.php file you created there.

if (isset($env['AUTH0_MANAGEMENT_API_TOKEN'])) {
    $auth0->configuration()->setManagementToken($env['AUTH0_MANAGEMENT_API_TOKEN']);
}

// Create a configured instance of the `Auth0\SDK\API\Management` class, based on the configuration we setup the SDK ($auth0) using.
// If no AUTH0_MANAGEMENT_API_TOKEN is configured, this will automatically perform a client credentials exchange to generate one for you, so long as a client secret is configured.
$management = $auth0->management();
```

La classe `Management` stocke l’accès aux points de terminaison sous forme de méthodes « fabrique » de ses instances, par exemple `$management->users()` renvoie une instance de `Auth0\SDK\API\Management\Users` que vous pouvez utiliser pour interagir avec les points de terminaison/utilisateurs du Management API.

### Exemple - Recherche d’utilisateurs par courriel

Ce point de terminaison est documenté [ici](/docs/fr-ca/api/management/v2#!/Users/get_users).

```php lines theme={null}
// 👆 We're continuing from the code above. Append this to your source code file.

$response = $management->users()->getAll(['q' => 'josh']);

// Does the status code of the response indicate failure?
if ($response->getStatusCode() !== 200) {
    die("API request failed.");
}

// Decode the JSON response into a PHP array:
$response = json_decode(response->getBody()->__toString(), true, 512, JSON_THROW_ON_ERROR);

if (! empty($response)) {
    echo '<h2>User Results</h2>';

    foreach ($response as $result) {
        printf(
            '<p><strong>%s</strong> &lt;%s&gt; - %s</p>',
            !empty($result['nickname']) ? $result['nickname'] : 'No nickname',
            !empty($result['email']) ? $result['email'] : 'No email',
            $result['user_id']
        );
    }
}
```

### Exemple - Obtenir tous les clients

Ce point de terminaison est documenté [ici](/docs/fr-ca/api/management/v2#!/Clients/get_clients).

```php lines theme={null}
// 👆 We're continuing from the code above. Append this to your source code file.

$response = $management->clients()->getAll(['q' => 'josh']);

// Does the status code of the response indicate failure?
if ($response->getStatusCode() !== 200) {
    die("API request failed.");
}

// Decode the JSON response into a PHP array:
$response = json_decode(response->getBody()->__toString(), true, 512, JSON_THROW_ON_ERROR);

if (! empty($response)) {
    echo '<h2>Get All Clients</h2>';

    foreach ($response as $result) {
        printf(
            '<p><strong>%s</strong> - %s</p>',
            $result['name'],
            $result['client_id']
        );
    }
}
```

## En savoir plus

* [PHP : Premiers pas avec Auth0-PHP](/docs/fr-ca/libraries/auth0-php)
* [PHP : Connexion, déconnexion et restitution des profils utilisateurs avec Auth0-PHP](/docs/fr-ca/libraries/auth0-php/auth0-php-basic-use)
* [PHP : Utiliser l’Authentication API avec Auth0-PHP](/docs/fr-ca/libraries/auth0-php/using-the-authentication-api-with-auth0-php)
* [PHP : valider les jetons Web JSON (JWT) avec Auth0-PHP](/docs/fr-ca/libraries/auth0-php/validating-jwts-with-auth0-php)
* [PHP : Dépannage de votre intégration Auth0-PHP](/docs/fr-ca/libraries/auth0-php/troubleshoot-auth0-php-library)
