注: 有効期限が切れるユーザー トークンは現在、オプションの機能であり、変更される可能性があります。 ユーザーからサーバーへのトークンの有効期限機能をオプトインまたはオプトアウトするには、「アプリケーションのオプション機能をアクティブにする」を参照してく� さい。 詳細については、「GitHub App のユーザーからサーバーへのアクセストークンの期限切れ」を参照してく� さい。
ユーザアクセストークンの期限切れについて
定期的なトークンのローテーションを強制し、侵害されたトークンの影響を抑えるために、ユーザアクセストークンの期限を利用するようにGitHub Appを設定できます。 ユーザーからサーバーへの要求に関して詳しくは、「GitHub App のユーザーの特定と認可」を参照してく� さい。
期限切れになるユーザトークンは、8時間で期限切れになります。 新しいユーザからサーバーへのアクセストークンを受信すると、レスポンスにはリフレッシュトークンも含まれます。このリフレッシュトークンは、新しいユーザトークン及びリフレッシュトークンと交換できます。 リフレッシュトークンは、6ヶ月間有効です。
リフレッシュトークンでのユーザトークンの更新
ユーザーからサーバーへのアクセストークンが期限切れのときに更新するには、refresh_token
との交換で新しいアクセストークンと refresh_token
を取得できます。
POST https://github.com/login/oauth/access_token
このコールバックリクエストは、新しいアクセストークンと新しいリフレッシュトークンを送信してきます。 このコールバック要求は、一時的な code
との交換でアクセストークンを取得するための OAuth 要求に似ています。 詳しくは、「GitHub アプリのユーザーの特定と認可」と「認証の基本」を参照してく� さい。
パラメーター
名前 | 型 | 説明 |
---|---|---|
refresh_token | string | 必� �。 GitHub App のオーナーが期限切れのトークンを有効にし、新しいユーザーアクセス トークンを発行したときに生成されるトークン。 |
grant_type | string | 必� �。 値は refresh_token である必要があります (OAuth 仕様で必� �)。 |
client_id | string | 必� �。 GitHub App のクライアント ID。 |
client_secret | string | 必� �。 GitHub App のクライアントシークレット。 |
[応答]
{
"access_token": "ghu_16C7e42F292c6912E7710c838347Ae178B4a",
"expires_in": "28800",
"refresh_token": "ghr_1B4a2e77838347a7E420ce178F2E7c6912E169246c34E1ccbF66C46812d16D5B1A9Dc86A1498",
"refresh_token_expires_in": "15811200",
"scope": "",
"token_type": "bearer"
}
既存のGitHub Appに対する期限切れするユーザトークンの設定。
期限切れするユーザからサーバーへの認可トークンの有効化や無効化は、GitHub App設定から行えます。
-
任意のページで、右上隅にあるプロファイルの画像をクリックし、次に[設定]をクリックします。
-
In the left sidebar, click Developer settings.
-
左側のサイドバーで、 [GitHub アプリ] をクリックします。
-
選ん� GitHub App の横にある [編集] をクリックします。
-
左側のサイドバーで、 [オプション機能] をクリックします。
-
[ユーザーからサーバーへのトークンの期限切れ] の横にある [オプトイン] または [オプトアウト] をクリックします。この設定が適用されるまで、数秒かかることがあります。
新しいGitHub Appでの期限切れになるトークンのオプトアウト
新しいGitHub Appを作成する際には、デフォルトでそのアプリケーションは期限切れになるユーザからサーバーへのアクセストークンを使用します。
アプリケーションに期限切れにならないユーザからサーバーへのアクセストークンを使わせたい� �合には、アプリケーションの設定ページで"Expire user authorization tokens(ユーザ認可トークンの期限切れ)"を選択を解除できます。
ユーザからサーバーへの認可トークンを使用する既存のGitHub Appsは、アプリケーションのオーナーが期限になるユーザトークンをアプリケーションに対して有効化した� �合にのみ、この新しいフローの影響を受けます。
既存のGitHub Appsに対して期限設定付きのユーザトークンを有効化するためには、8時間で期限切れになる新しいユーザトークンを再発行するためにOAuthフローを通じてユーザを送信し、リフレッシュトークンを使って新しいアクセストークンとリフレッシュトークンを取得するためのリクエストを発行する必要があります。 詳細については、「GitHub アプリのユーザーの特定と認可」を参照してく� さい。