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

# トークンの有効期間のクライアント単位での制御

> アクセス (リフレッシュ) トークンのクライアント単位での有効期間設定方法についての解説。

## はじめに

本記事では、アクセス (リフレッシュ) トークンの有効期間をクライアント単位で設定する方法について解説します。トークンの有効期間の詳細については「[トークンの有効期間の計算ロジック](/ja/configuration-reference/tokens-and-claims/how-authlete-determines-token-duration)
」をご覧ください。

> 本機能は Authlete 2.1 以降でのみ利用可能になります。

## 設定

> 本機能の設定は、サービス管理者のみが行うことができます。

以下の手順に従い、クライアント単位でアクセス (リフレッシュ) トークンの有効期間を設定します。

1. クライアント管理コンソールにアクセスし、サービス管理者として（すなわち、クレデンシャルとして、サービスの API キーとシークレットを利用して) ログインします。
2. 対象のクライアントの編集画面を開き、「**拡張**」タブ内の「アクセストークン有効期間秒数」、「リフレッシュトークン有効期間秒数」を設定します。

<img src="https://mintcdn.com/authlete/WGQFc11Y4wUplGrc/img/kb/ja/oauth-and-openid-connect/tokens/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2020-01-27_20.30.26.png?fit=max&auto=format&n=WGQFc11Y4wUplGrc&q=85&s=d0440c6447f13055fc72c6c0254f3021" alt="スクリーンショット_2020-01-27_20" width="914" height="340" data-path="img/kb/ja/oauth-and-openid-connect/tokens/スクリーンショット_2020-01-27_20.30.26.png" />

*コンソール上でクライアント単位のトークン有効期間秒数を設定*

## 実行例

ここでは、ある 1 つのサービスに 2 つのクライアントが登録されている環境において、アクセストークンの有効期間が以下の通り設定されているものとします。

| エンティティ   | アクセストークンの有効期間（秒） |
| -------- | ---------------- |
| サービス     | 86,400           |
| クライアント 1 | （設定なし）           |
| クライアント 2 | 3,000            |

この状況において、各クライアントから送信された「インプリシットグラントフローの認可リクエスト」に対し、Authlete の [/auth/authorization/issue API](/api-reference/authorization-endpoint/issue-authorization-response) は以下のレスポンスを返却します。

## 1. クライアント 1 からリクエストされた場合

```
{
    "type": "authorizationIssueResponse",
    "accessTokenDuration": 86400,
    "responseContent": "https://client.example.org/cb/example.com
    #access_token=1zT0XRynwLryWYRKCYSDjrwku5sD-WQTCtC1tnfExZE
    &token_type=Bearer
    &expires_in=86400
    &scope=openid"
}
```

\=> サービスに設定されたアクセストークン有効期間秒数が利用されていることがわかる。

## 2. クライアント 2 からリクエストされた場合

```
{
   "type": "authorizationIssueResponse",
   "accessTokenDuration": 3000,
   "responseContent": "https://client.example.org/cb/example.com
   #access_token=xg79MJucCq8f8QPA2_o9_q5nfzgbRQycgVwYSvMSWTY
   &token_type=Bearer
   &expires_in=3000
   &scope=openid"
}
```

\=> クライアント 2 に設定されたアクセストークン有効期間秒数が利用されていることがわかる。
