ノート: ユーザトークンの期限設定は、現在オプションの機能であり、変更されることがあります。 ユーザからサーバーに対するトークンの期限設定にオプトインもしくはアウトするには、「アプリケーションのオプション機能を有効化する」を参照してく� さい。 詳しい情� �については「ユーザからサーバーへのアクセストークンの期限設定」を参照してく� さい。
ユーザアクセストークンの期限切れについて
定期的なトークンのローテーションを強制し、侵害されたトークンの影響を抑えるために、ユーザアクセストークンの期限を利用するようにGitHub Appを設定できます。 ユーザからサーバーへのリクエストの発行に関する詳しい情� �については、「GitHub Appのユーザの特定と認可」を参照してく� さい。
期限切れになるユーザトークンは、8時間で期限切れになります。 新しいユーザからサーバーへのアクセストークンを受信すると、レスポンスにはリフレッシュトークンも含まれます。このリフレッシュトークンは、新しいユーザトークン及びリフレッシュトークンと交換できます。 リフレッシュトークンは、6ヶ月間有効です。
リフレッシュトークンでのユーザトークンの更新
期限切れになるユーザからサーバーへのアクセストークンを更新するには、refresh_tokenを新しいアクセストークン及びrefresh_tokenと交換できます。
POST https://github.com/login/oauth/access_token
このコールバックリクエストは、新しいアクセストークンと新しいリフレッシュトークンを送信してきます。 このコールバックリクエストは、一時的なcodeをアクセストークンと交換するために使うOAuthのリクエストに似ています。 詳しい情� �については「GitHub Appsのユーザの特定と認可」及び「認証の基本」を参照してく� さい。
パラメータ
| 名前 | 種類 | 説明 |
|---|---|---|
refresh_token | string | 必� �。 GitHub Appのオーナーが期限切れするトークンを有効化し、新しいユーザアクセストークンを発行したときに生成されるトークン。 |
grant_type | string | 必� �。 値はrefresh_tokenでなければならない(OAuthの仕様で必� �)。 |
client_id | string | 必� �。 GitHub AppのクライアントID。 |
client_secret | string | 必� �。GitHub Appのクライアントシークレット。 |
レスポンス
{
"access_token": "e72e16c7e42f292c6912e7710c838347ae178b4a",
"expires_in": "28800",
"refresh_token": "r1.c1b4a2e77838347a7e420ce178f2e7c6912e169246c34e1ccbf66c46812d16d5b1a9dc86a149873c",
"refresh_token_expires_in": "15811200",
"scope": "",
"token_type": "bearer"
}
既存のGitHub Appに対する期限切れするユーザトークンの設定。
期限切れするユーザからサーバーへの認可トークンの有効化や無効化は、GitHub App設定から行えます。
-
任意のページの右上で、プロフィール画像をクリックし、続いてSettings(設定)をクリックしてく� さい。
![ユーザバーの [Settings(設定)] アイコン](https://github.github.com/docs-ghes-3.1/assets/cb-34573/images/help/settings/userbar-account-settings.png)
-
左サイドバーで [Developer settings] をクリックします。

-
左のサイドバーでGitHub Appsをクリックしてく� さい。

-
選択したGitHub Appの隣のEdit(編集)をクリックしてく� さい。

-
In the left sidebar, click Optional Features.

-
「User-to-server token expiration(ユーザからサーバーへのトークンの有効期限)」の隣のOpt-in(オプトイン)もしくはOpt-out(オプトアウト)をクリックしてく� さい。 この設定が適用されるまで、数秒かかることがあります。
新しいGitHub Appでの期限切れになるトークンのオプトアウト
新しいGitHub Appを作成する際には、デフォルトでそのアプリケーションは期限切れになるユーザからサーバーへのアクセストークンを使用します。
アプリケーションに期限切れにならないユーザからサーバーへのアクセストークンを使わせたい� �合には、アプリケーションの設定ページで"Expire user authorization tokens(ユーザ認可トークンの期限切れ)"を選択を解除できます。

ユーザからサーバーへの認可トークンを使用する既存のGitHub Appsは、アプリケーションのオーナーが期限になるユーザトークンをアプリケーションに対して有効化した� �合にのみ、この新しいフローの影響を受けます。
既存のGitHub Appsに対して期限設定付きのユーザトークンを有効化するためには、8時間で期限切れになる新しいユーザトークンを再発行するためにOAuthフローを通じてユーザを送信し、リフレッシュトークンを使って新しいアクセストークンとリフレッシュトークンを取得するためのリクエストを発行する必要があります。 詳しい情� �については「GitHub App のユーザの特定と認可」を参照してく� さい。