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

# Authentication API

> Authentication API を使用すると、Auth0 の利用時にユーザーアイデンティティのあらゆる側面を管理できます。ユーザーによるログイン、サインアップ、ログアウト、API へのアクセスなどを実現するためのエンドポイントを提供します。

Authentication API を使用すると、Auth0 の利用時にユーザーアイデンティティのあらゆる側面を管理できます。ユーザーによるログイン、サインアップ、ログアウト、API へのアクセスなどを実現するためのエンドポイントを提供します。

この API は、[OpenID Connect](https://auth0.com/docs/authenticate/protocols/openid-connect-protocol)、[OAuth 2.0](https://auth0.com/docs/authenticate/protocols/oauth)、[FAPI](https://auth0.com/docs/secure/highly-regulated-identity#advanced-security-with-openid-connect-fapi-)、[SAML](https://auth0.com/docs/protocols/saml) などのさまざまなアイデンティティプロトコルをサポートしています。

<Note>
  この API は、RESTful API との統合に慣れている方向けに設計されています。より手順に沿った方法を希望する場合は、[クイックスタート](https://auth0.com/docs/quickstarts) または [ライブラリ](https://auth0.com/docs/libraries) を参照してください。
</Note>

<div id="base-url">
  ## ベース URL
</div>

Authentication API は HTTPS 経由で提供されます。ドキュメント内で参照されるすべての URL のベースは次のとおりです: `https://{yourDomain}`

<div id="authentication-methods">
  ## 認証方法
</div>

このAPIで認証する方法は5つあります。

* OAuth2 アクセストークン
* クライアントIDとクライアントアサーション (機密アプリケーション)
* クライアントIDとクライアントシークレット (機密アプリケーション)
* クライアントID (公開アプリケーション)
* mTLS認証 (機密アプリケーション)

<div id="oauth2-access-token">
  ### OAuth2 アクセストークン
</div>

`Bearer` 認証方式を使用して、有効なアクセストークンを `Authorization` ヘッダーに含めて送信します。

例として、[Get User Info endpoint](/ja/user-profile/get-user-info) があります。このシナリオでは、ユーザーを認証するとアクセストークンを取得でき、その後、そのトークンを `Authorization` ヘッダーに含めて [Get User Info endpoint](/ja/user-profile/get-user-info) にリクエストを送信し、ユーザーのユーザープロファイルを取得できます。

<div id="client-id-and-client-assertion">
  ### クライアントIDとクライアントアサーション
</div>

認証するには、署名付き JSON Web Token (JWT) を含む [client assertion](https://auth0.com/docs/get-started/authentication-and-authorization-flow/authenticate-with-private-key-jwt) を生成します。リクエスト本文には、クライアントID、値 `urn:ietf:params:oauth:client-assertion-type:jwt-bearer` を指定した `client_assertion_type` パラメーター、および署名付きアサーションを指定した `client_assertion` パラメーターを含めます。例については、[Private Key JWT](https://auth0.com/docs/get-started/authentication-and-authorization-flow/authenticate-with-private-key-jwt) を参照してください。

<div id="client-id-and-client-secret">
  ### クライアントIDとクライアントシークレット
</div>

クライアントIDとクライアントシークレットを送信します。このデータの送信方法は、アプリケーションに設定されている [Token Endpoint Authentication Method](https://auth0.com/docs/get-started/applications/confidential-and-public-applications/view-application-type) によって決まります。

**Post** を使用している場合は、このデータをリクエストのJSONボディで送信する必要があります。

**Basic** を使用している場合は、`Basic` 認証スキームを使用して、このデータを `Authorization` ヘッダーで送信する必要があります。認証情報の値を生成するには、クライアントIDとクライアントシークレットをコロン (`:`) で連結し、Base64でエンコードします。

例として、[Revoke Refresh Token endpoint](https://auth0.com/docs/secure/tokens/refresh-tokens/revoke-refresh-tokens) があります。このオプションは、機密アプリケーション (認可されていない第三者に公開することなく、認証情報を安全に保持できるアプリケーションなど) でのみ使用できます。

<div id="client-id">
  ### クライアントID
</div>

クライアントIDを送信してください。公開アプリケーション (SPA やモバイルアプリなど、認証情報を安全に保持できないアプリケーション) の場合は、クライアントIDのみでアクセスできるエンドポイントがいくつか用意されています。

その一例が [Implicit Grant](/ja/implicit-flow/authorize) です。

<div id="mtls-authentication">
  ### mTLS 認証
</div>

証明書を生成します。[自己署名証明書](https://auth0.com/docs/get-started/applications/configure-mtls/configure-mtls-for-a-client#self-signed-certificates)または[認証局署名証明書](https://auth0.com/docs/get-started/applications/configure-mtls/configure-mtls-for-a-client#certificate-authority-signed-certificates)のいずれかを使用します。次に、mTLS ハンドシェイクを実行する[カスタマーエッジネットワークを設定](https://auth0.com/docs/get-started/applications/configure-mtls/set-up-the-customer-edge)します。

エッジネットワークで証明書を検証したら、以下のヘッダーを付与してリクエストを Auth0 エッジネットワークに転送します。

* `cname-api-key` ヘッダーとしてカスタムドメインの API キー。
* `client-certificate` ヘッダーとしてクライアント証明書。
* `client-certificate-ca-verified` ヘッダーとしてクライアント証明書の CA 検証ステータス。詳細については、[リクエストを転送する](https://auth0.com/docs/get-started/applications/configure-mtls/set-up-the-customer-edge#forward-the-request-)を参照してください。

詳細については、[mTLS で認証する](https://auth0.com/docs/get-started/authentication-and-authorization-flow/authenticate-with-mtls)を参照してください。

<div id="parameters">
  ## パラメーター
</div>

GET リクエストでは、パスセグメントとして指定されていないパラメーターは、HTTP クエリ文字列パラメーターとして渡すことができます。

`GET https://{yourDomain}/some-endpoint?param=value&param=value`

POST リクエストでは、URL に含まれていないパラメーターを、Content-Type を `application/json` として JSON でエンコードする必要があります。

`curl --request POST --url 'https://{yourDomain}/some-endpoint' --header 'content-type: application/json' --data '{"param": "value", "param": "value"}'`

<Note>
  例外は、クエリ文字列パラメーターと `x-www-form-urlencoded` の値の両方を使用する [SAML IdP-Initiated シングルサインオン (SSO) フロー](#idp-initiated-sso-flow) です。
</Note>

<div id="testing">
  ## テスト
</div>

[Authentication API Debugger](https://auth0.com/docs/customize/extensions/authentication-api-debugger-extension) を使用して、エンドポイントをテストできます。

<div id="authentication-api-debugger">
  ### Authentication API Debugger
</div>

[Authentication API Debugger](https://auth0.com/docs/customize/extensions/authentication-api-debugger-extension) は、Authentication API の複数のエンドポイントをテストするために使用できる Auth0 の拡張機能です。

[Debugger をインストール](https://auth0.com/docs/customize/extensions/authentication-api-debugger-extension)

**この拡張機能をすでにインストールしている場合は、Authentication API Debugger にスキップしてください。**

リンクは、テナントのリージョン (US West、Europe Central、または Australia) によって異なります。テナントのリージョンの詳細については、[Create Tenants](https://auth0.com/docs/get-started/auth0-overview/create-tenants#region-locality-and-sub-locality) を参照してください。

<div id="configure-connections">
  ### 接続を設定する
</div>

1. *Configuration* タブで、**Application** フィールド (テストに使用するアプリケーションを選択) と **Connection** フィールド (使用するソーシャル接続の名前) を設定します。

2. **Callback URL** をコピーし、[Application Settings](https://manage.auth0.com/dashboard/) の **Allowed Callback URLs** に追加します。

3. *OAuth2 / OIDC* タブで、**OAuth2 / OIDC Login** を選択します。

<div id="endpoint-options">
  ### エンドポイントのオプション
</div>

以下のオプションを使用して、その他のエンドポイントを設定します。

* パスワードレス: *OAuth2 / OIDC* タブで、`connection=sms` の場合は **ユーザー名** にユーザーの電話番号を、`connection=email` の場合はユーザーのメールアドレスを設定し、**パスワード** にユーザーの確認コードを設定します。**リソースオーナーエンドポイント** をクリックします。
* SAML SSO:  *その他のフロー* タブで、**SAML** を選択します。
* WS-Federation: *その他のフロー* タブで、**WS-Federation** を選択します。
* ログアウト: *その他のフロー* タブで、**ログアウト** を選択します。IDプロバイダーからもユーザーをログアウトするには、**ログアウト (フェデレーション) ** を選択します。
* レガシー Login: *OAuth2 / OIDC* タブで、**IDトークン**、**リフレッシュトークン**、**ターゲット クライアントID** の各フィールドを設定します。**デリゲーション** をクリックします。
* レガシー デリゲーション: *OAuth2 / OIDC* タブで、**ユーザー名** と **パスワード** を設定します。**リソースオーナーエンドポイント** をクリックします。
* レガシー リソースオーナー:  *OAuth2 / OIDC* タブで、**ユーザー名** と **パスワード** を設定し、**リソースオーナーエンドポイント** を選択します。

<div id="authentications-flows">
  ### 認証フロー
</div>

次のオプションを使用して認証フローを設定します。

* Authorization Code Flow: *OAuth2 / OIDC* タブで、**Authorization Code** フィールドに [Authorization Code Grant](https://auth0.com/docs/get-started/authentication-and-authorization-flow/authorization-code-flow) から取得した認可コードを設定し、**Code Verifier** にキーを設定します。**OAuth2 Code Exchange** をクリックします。
* Authorization Code Flow + PKCE: *OAuth2 / OIDC* タブで、**Authorization Code** フィールドに [Authorization Code Grant](https://auth0.com/docs/get-started/authentication-and-authorization-flow/authorization-code-flow-with-pkce) から取得した認可コードを設定し、**Code Verifier** にキーを設定します。**OAuth2 Code Exchange** をクリックします。
* Client Credential Flow:  *OAuth2 / OIDC* タブで、**OAuth2 Client Credentials** を選択します。

<div id="errors">
  ## エラー
</div>

エラーが発生すると、エラーオブジェクトが返されます。これらのエラーオブジェクトの多くには、アプリケーションが問題をより効率的に特定できるよう、エラーコードとエラーの説明が含まれています。

`4xx` HTTP レスポンスコードを受け取った場合は、リクエストに問題があると考えられます。

`5xx` エラーは Auth0 側の問題を示しているため、この場合は [Auth0 Status Page](https://status.auth0.com/) と [Twitter の @auth0status](https://twitter.com/auth0status) を確認して、システムの稼働状況を確認してください。

それ以外の場合は、[サポートオプション](#support) を利用してください。

<div id="rate-limiting">
  ## レート制限
</div>

Authentication API にはレート制限が適用されます。制限値はエンドポイントごとに異なります。

特定のエンドポイントで設定されたレート制限を超えると、次のメッセージを含む `429 Too Many Requests` レスポンスが返されます。`Too many requests. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers.`

レート制限の詳細については、[Auth0 API Rate Limit Policy](https://auth0.com/docs/troubleshoot/customer-support/operational-policies/rate-limit-policy)を参照してください。

なお、データベース接続では、Auth0 はユーザーアカウントと IP アドレスに応じて、特定の種類の繰り返しログイン試行を制限します。詳細については、[Rate Limits on User/Password Authentication](https://auth0.com/docs/troubleshoot/customer-support/operational-policies/rate-limit-policy)を参照してください。

<div id="support">
  ## サポート
</div>

問題が発生した場合や、ご利用中のケースについて支援が必要な場合は、いつでも[サポート](https://support.auth0.com/)までお問い合わせいただけます。

無料のサブスクリプションプランをご利用で、22日間のトライアル期間が終了している場合は、[サポートセンター](https://support.auth0.com/)でチケットを閲覧したり、新規作成したりすることはできません。この場合は、[Auth0 Community](https://community.auth0.com/)でサポートを受けることができます。サポートプログラムの詳細については、[サポートオプション](https://auth0.com/docs/troubleshoot/customer-support)を参照してください。
