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

# Management API を使う

> SDK の Management クラスを使用して PHP で Auth0 の Management API にアクセスし、ユーザーの検索、アプリケーションの管理、テナント操作を実行します。

export const ReleaseStageNotice = ({feature, stage, plans, contact, terms}) => {
  const stageTextMap = {
    "beta": "Beta",
    "ea": "早期アクセス"
  };
  const stageText = stageTextMap[stage] || "製品リリース段階";
  const prsLink = "/docs/troubleshoot/product-lifecycle/product-release-stages";
  const linkify = (text, url) => {
    return <a href={url} target="_blank" rel="noreferrer" class="link">{text}</a>;
  };
  const includeDetails = (plans, contact, terms) => {
    const hasDetails = terms || plans || contact;
    if (!hasDetails) return null;
    return <span data-as="p">
            {plans && <>この機能は{linkify(`${plans}プラン`, "https://auth0.com/pricing")}でご利用いただけます。 </>}
            {contact && "参加をご希望の場合は、" + contact + "までお問い合わせください。 "}
            {terms && <>この機能を使用することにより、Oktaの該当する無料トライアル規約および{linkify("Master Subscription Agreement", "https://www.okta.com/legal")}に同意したものとみなされます。</>}
        </span>;
  };
  return <Warning>
            <span data-as="p">
                <strong>{feature}機能は現在、{linkify(stageText, prsLink)}です。</strong>
            </span>

            {includeDetails(plans, contact, terms)}
        </Warning>;
};

<ReleaseStageNotice feature="Auth0 PHP SDK v9" stage="beta" />

Auth0 PHP SDK には `Auth0\SDK\API\Management` クラスが用意されており、[Management API](https://auth0.com/docs/api/management/v2) にアクセスして Auth0 テナントに対する操作を実行するためのメソッドが含まれています。このインターフェースを使用すると、次のようなことを簡単に行えます。

* ユーザーの検索と作成
* アプリケーションの作成と更新
* ログエントリの取得
* ルールの管理

... など、さまざまな操作が可能です。利用可能な機能については、[API リファレンス](https://auth0.com/docs/api/management/v2) をご覧ください。

<div id="authentication">
  ## 認証
</div>

<Tooltip tip="Management API: お客様が管理タスクを実行できるようにするプロダクトです。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=Management+API">Management API</Tooltip> を使用するには、次の 2 つの方法のいずれかで認証する必要があります。

* 一時的なアクセスやテストには、[API トークンを手動で生成](/docs/ja-jp/secure/tokens/access-tokens/management-api-access-tokens) し、`.env` ファイルに保存できます。
* 継続的にアクセスするには、必要なときにクライアントクレデンシャルグラントを作成して実行する必要があります。この手順については、[Authentication API ページ](/docs/ja-jp/libraries/auth0-php/using-the-authentication-api-with-auth0-php) で詳しく説明しています。

どちらの方法でも、生成されるトークンには、アプリが実行する操作に必要なスコープが含まれている必要があります。アクセスしようとしている特定のエンドポイントに必要なスコープについては、[API ドキュメント](https://auth0.com/docs/api/management/v2) を参照してください。

必要なスコープを付与するには、次の手順に従います。

1. [APIs](https://manage.auth0.com/#/apis) > Auth0 Management API > **Machine to Machine Applications** タブに移動します。
2. 対象のアプリケーションを見つけて認可します。
3. 矢印をクリックして行を展開し、必要なスコープを選択します。

これで、上記 2 つの方法のいずれかで認証し、そのトークンを使って操作を実行できます。

```php lines theme={null}
$management = new \Auth0\SDK\API\Management\Wrapper\ManagementClient(
    new \Auth0\SDK\API\Management\Wrapper\ManagementClientOptions(
        domain: $_ENV['AUTH0_DOMAIN'],
        clientId: $_ENV['AUTH0_CLIENT_ID'],
        clientSecret: $_ENV['AUTH0_CLIENT_SECRET'],
    ),
);
```

`ManagementClient` はエンドポイントをプロパティとして公開します (たとえば、`$management->users` や `$management->clients`) 。結果は型付きオブジェクトとして返されます。生の配列を展開するのではなく、`getEmail()` や `getName()` などの名前付きメソッドを呼び出して値を取得します。

<div id="example-search-users-by-email">
  ### 例 - メールアドレスでユーザーを検索
</div>

このエンドポイントのドキュメントは[こちら](https://auth0.com/docs/api/management/v2#!/Users/get_users)をご覧ください。

```php lines theme={null}
$users = $management->users->list(
    new \Auth0\SDK\API\Management\Users\Requests\ListUsersRequestParameters([
        'q'             => 'email:j*',
        'perPage'       => 5,
        'includeTotals' => true,
    ]),
);

foreach ($users as $user) {
    printf("%s <%s> - %s\n", $user->getNickname() ?? 'No nickname', $user->getEmail() ?? 'No email', $user->getUserId());
}
```

<div id="example-get-all-clients">
  ### 例 - すべてのクライアントを取得
</div>

このエンドポイントのドキュメントは[こちら](https://auth0.com/docs/api/management/v2#!/Clients/get_clients)をご覧ください。

```php lines theme={null}
$clients = $management->clients->list(
    new \Auth0\SDK\API\Management\Clients\Requests\ListClientsRequestParameters([
        'perPage'       => 5,
        'includeTotals' => true,
    ]),
);

foreach ($clients as $client) {
    printf("%s - %s\n", $client->getName(), $client->getClientId());
}
```

<div id="learn-more">
  ## 詳細情報
</div>

* [Auth0-PHP を使い始める](/docs/ja-jp/libraries/auth0-php)
* [Login、Logout、ユーザープロファイルを管理する](/docs/ja-jp/libraries/auth0-php/auth0-php-basic-use)
* [Authentication API を使用する](/docs/ja-jp/libraries/auth0-php/using-the-authentication-api-with-auth0-php)
* [JWT (JSON Web Tokens) を検証する](/docs/ja-jp/libraries/auth0-php/validating-jwts-with-auth0-php)
* [Auth0-PHP 連携のトラブルシューティング](/docs/ja-jp/libraries/auth0-php/troubleshoot-auth0-php-library)
