> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev-fix-docs-5525.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# アクセストークン

> トークンベースの認証では、アクセストークンを使うことで、ユーザーによる認証とアクセス認可の後、アプリケーションがAPIにアクセスできるようになります。

<Card title="Overview">
  重要なコンセプト

  * トークンベースの認証について詳細を確認する
  * Auth0が標準クレームでJSON構造に準拠した自己完結型JSON Web Token （JWT）アクセストークンを使う仕組みを理解する
  * 提供されたアクセストークンのサンプルと必要なパラメーターを確認する
  * デフォルトに基づいてアクセストークンのライフタイムを設定する
</Card>

トークンベースの認証では、アプリケーションによるAPIへのアクセスを許可するためにアクセストークンが使用されます。ユーザーが認証とアクセス認可に成功すると、アプリケーションはアクセストークンを受け取り、ターゲットのAPIを呼び出す際にそれを資格情報として渡します。渡されたトークンは、APIに、トークンの所持者がAPIへのアクセスを認可されていること、認可の際に付与された<Tooltip data-tooltip-id="react-containers-DefinitionTooltip-1" href="/docs/ja-jp/glossary?term=scope" tip="スコープ: オンラインリソースで事前に作成された情報を使用して、アプリケーションがユーザーに代わって実行できるアクションを決定するメカニズム。" cta="用語集の表示">スコープ</Tooltip> で指定されている特定のアクションの実行を認可されていることを知らせます。

また、ユーザーに対してFacebookなどの<Tooltip data-tooltip-id="react-containers-DefinitionTooltip-2" href="/docs/ja-jp/glossary?term=idp" tip="IDプロバイダー（IdP）: デジタルIDを保存および管理するサービス。" cta="用語集の表示">IDプロバイダー（IdP）</Tooltip>を介したログインを許可した場合、アプリケーションは、<Tooltip data-tooltip-id="react-containers-DefinitionTooltip-2" href="/docs/ja-jp/glossary?term=idp" tip="IDプロバイダー（IdP）: デジタルIDを保存および管理するサービス。" cta="用語集の表示">IdP</Tooltip>発行の独自のアクセストークンによってIdPのAPIの呼び出しを許可されます。たとえば、ユーザーがFacebookを使用して認証する場合は、Facebook発行のアクセストークンを使ってFacebook Graph APIを呼び出します。これらのトークンは、IdPが制御するものであり、任意の形式で発行されます。詳細は、「[IDプロバイダーのアクセストークン](/docs/ja-jp/secure/tokens/access-tokens/identity-provider-access-tokens)」を参照してください。

## 不透明なアクセストークン

不透明なアクセストークンとは、アクセス不可能な独自形式のトークンで、一般的にはサーバーの永続ストレージにある情報のIDを含みます。不透明トークンを検証するには、トークンの受信者がトークンの発行サーバーを呼び出す必要があります。

Auth0の場合、不透明トークンは、ユーザーのプロファイルを返すために`/userinfo`エンドポイントと共に使用されることがあります。不透明なアクセストークンを受け取ったら、それを検証する必要はありません`/userinfo`エンドポイントを使用すれば、後の処理はAuth0が行います。詳細については、「[アクセストークンを取得する](/docs/ja-jp/secure/tokens/access-tokens/get-access-tokens)」をお読みください。

## JWTアクセストークン

<Tooltip data-tooltip-id="react-containers-DefinitionTooltip-2" href="/docs/ja-jp/glossary?term=json-web-token" tip="JSON Web Token（JWT）: 二者間のクレームを安全に表現するために使用される標準IDトークン形式（および多くの場合、アクセストークン形式）。" cta="用語集の表示">JSON Web Token</Tooltip>（JWT）のアクセストークンは、[JWT標準](https://tools.ietf.org/html/rfc7519)に準拠し、エンティティに関する情報をクレームの形で含みます。自己完結型であるため、受信者はサーバーを呼び出してトークンを検証する必要がありません。

<Tooltip data-tooltip-id="react-containers-DefinitionTooltip-0" href="/docs/ja-jp/glossary?term=management-api" tip="Management API: 顧客が管理タスクを実行できるようにするための製品。" cta="用語集の表示">Management API</Tooltip>のために発行されたアクセストークンと、Auth0に登録したカスタムAPIのために発行されたアクセストークンは、JWT標準に従います。つまり、基本構造が一般的な[JWT構造](/docs/ja-jp/secure/tokens/json-web-tokens/json-web-token-structure)に準拠し、トークン自体についてアサートされた標準の[JWTクレーム](/docs/ja-jp/secure/tokens/json-web-tokens/json-web-token-claims)を含みます。

### Management APIのアクセストークン

Auth0 Management APIのために発行されたアクセストークンは、（実態はどうであれ）不透明として扱われるため、検証する必要はありません。Auth0 Management APIで使用すれば、後の処理はAuth0が行います。詳細については、「[Auth0 Management APIのトークン](/docs/ja-jp/secure/tokens/access-tokens/management-api-access-tokens)」を参照してください。

### カスタムAPIのアクセストークン

カスタムAPIのアクセストークンが検証に失敗する場合は、カスタムAPIで`audience`として発行されたことを確認します。詳細については、「[アクセストークンを取得する](/docs/ja-jp/secure/tokens/access-tokens/get-access-tokens)」をお読みください。

## アクセストークンのサンプル

これは、アクセストークンの内容を示す例です。トークンに含まれる認可情報は、アプリケーションがそのAPIで実行を許可されているアクションに関するもののみです（そのような許可を`scopes`と呼びます）。

```json lines theme={null}
{
  "iss": "https://my-domain.auth0.com/",
  "sub": "auth0|123456",
  "aud": [
    "https://example.com/health-api",
    "https://my-domain.auth0.com/userinfo"
  ],
  "azp": "my_client_id",
  "exp": 1311281970,
  "iat": 1311280970,
  "scope": "openid profile read:patients read:admin"
}
```

トークンには、ユーザーID（`sub`クレームにある）以外の、ユーザーに関する情報は含まれません。しかし、その他のユーザー情報が取得できれば便利なケースも多いでしょう。これは、アクセストークンで[userinfo APIエンドポイント](https://auth0.com/docs/api/authentication#get-user-info)を呼び出すことで行えます。アクセストークン発行の対象となるAPIで**RS256** [署名アルゴリズム](/docs/ja-jp/get-started/applications/signing-algorithms)が使われていることを確認します。

## アクセストークンのセキュリティ

アクセストークンを使用する際には、[トークンのベストプラクティス](/docs/ja-jp/secure/tokens/token-best-practices)に従い、JWTについては、その内容が信頼できると仮定する前に、必ず[アクセストークンを検証](/docs/ja-jp/secure/tokens/access-tokens/validate-access-tokens)してください。

## アクセストークンのライフタイム

### カスタムAPIトークンのライフタイム

カスタムAPIのアクセストークンの有効期間は、デフォルトで86400秒間（24時間）です。APIのセキュリティ要件に従ってトークンの有効期間を設定することをお勧めします。たとえば、バンキングAPIにアクセスするアクセストークンは、To-Do APIにアクセスするものより有効期限を短くします。詳細については、「[アクセストークンのライフタイムを更新する](/docs/ja-jp/secure/tokens/access-tokens/update-access-token-lifetime)」をお読みください。

### /userinfoエンドポイントのトークンのライフタイム

OIDC `/userinfo`エンドポイントへのアクセスのみを目的として発行されたアクセストークンには、デフォルトのライフタイムがあり、変更はできません。ライフタイムの長さは、トークンを使用する際のフローによって異なります。

| フロー          | ライフタイム       |
| ------------ | ------------ |
| 暗黙           | 7200秒（2時間）   |
| 認可コード/ハイブリッド | 86400秒（24時間） |

## もっと詳しく

* [アクセストークンを取得する](/docs/ja-jp/secure/tokens/access-tokens/get-access-tokens)
* [アクセストークンを検証する](/docs/ja-jp/secure/tokens/access-tokens/validate-access-tokens)
* [アクセストークンを使用する](/docs/ja-jp/secure/tokens/access-tokens/use-access-tokens)
* [トークンのベストプラクティス](/docs/ja-jp/secure/tokens/token-best-practices)
