ノート: ユーザトークンの期限設定は、ユーザからサーバーに対するトークンの期限設定のベータ版機能の一部であり、変更される可能性があります。 ユーザからサーバーに対するトークンの期限設定のベータ機能にオプトインするには、「アプリケーションのオプション機能を有効化する」を参照してく� さい。 詳しい情� �については「ユーザからサーバーへのアクセストークンの期限設定」を参照してく� さい。
ユーザアクセストークンの期限切れについて
定期的なトークンのローテーションを強制し、侵害されたトークンの影響を抑えるために、ユーザアクセストークンの期限を利用するように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.0/assets/cb-34573/images/help/settings/userbar-account-settings.png) 
-  左サイドバーで [Developer settings] をクリックします。  
-  左のサイドバーでGitHub Appsをクリックしてく� さい。  
-  選択したGitHub Appの隣のEdit(編集)をクリックしてく� さい。  
-  左サイドバーで、[ Beta 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 のユーザの特定と認可」を参照してく� さい。