ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

ユーザからサーバーへのアクセストークンの更新

定期的なトークンのローテーションを強制し、侵害されたトークンの影響を抑えるために、ユーザアクセストークンの期限を利用するようにGitHub Appを設定できます。

ここには以下の内容があります:

ノート: ユーザトークンの期限設定は、現在オプションの機能であり、変更されることがあります。 ユーザからサーバーに対するトークンの期限設定にオプトインもしくはアウトするには、「アプリケーションのオプション機能を有効化する」を参照してください。 詳しい情報については「ユーザからサーバーへのアクセストークンの期限設定」を参照してください。

ユーザアクセストークンの期限切れについて

定期的なトークンのローテーションを強制し、侵害されたトークンの影響を抑えるために、ユーザアクセストークンの期限を利用するようにGitHub Appを設定できます。 ユーザからサーバーへのリクエストの発行に関する詳しい情報については、「GitHub Appのユーザの特定と認可」を参照してください。

期限切れになるユーザトークンは、8時間で期限切れになります。 新しいユーザからサーバーへのアクセストークンを受信すると、レスポンスにはリフレッシュトークンも含まれます。このリフレッシュトークンは、新しいユーザトークン及びリフレッシュトークンと交換できます。 リフレッシュトークンは、6ヶ月間有効です。

リフレッシュトークンでのユーザトークンの更新

期限切れになるユーザからサーバーへのアクセストークンを更新するには、refresh_tokenを新しいアクセストークン及びrefresh_tokenと交換できます。

POST https://github.com/login/oauth/access_token

このコールバックリクエストは、新しいアクセストークンと新しいリフレッシュトークンを送信してきます。 このコールバックリクエストは、一時的なcodeをアクセストークンと交換するために使うOAuthのリクエストに似ています。 詳しい情報については「GitHub Appsのユーザの特定と認可」及び「認証の基本」を参照してください。

パラメータ

名前種類説明
refresh_tokenstring必須。 GitHub Appのオーナーが期限切れするトークンを有効化し、新しいユーザアクセストークンを発行したときに生成されるトークン。
grant_typestring必須。 値はrefresh_tokenでなければならない(OAuthの仕様で必須)。
client_idstring必須。 GitHub AppのクライアントID。
client_secretstring必須。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設定から行えます。

  1. 任意のページの右上で、プロフィール画像をクリックし、続いてSettings(設定)をクリックしてください。 ユーザバーの [Settings(設定)] アイコン
  2. 左サイドバーで [Developer settings] をクリックします。 Developer settings(開発者設定)セクション
  3. In the left sidebar, click GitHub Apps. GitHub Apps セクション
  4. 選択したGitHub Appの隣のEdit(編集)をクリックしてください。 GitHub Appを編集する設定
  5. 左サイトバーで、[ Optional Features(オプション機能) ] をクリックします。 Optional features tab
  6. 「User-to-server token expiration(ユーザからサーバーへのトークンの有効期限)」の隣のOpt-in(オプトイン)もしくはOpt-out(オプトアウト)をクリックしてください。 この設定が適用されるまで、数秒かかることがあります。

新しいGitHub Appでの期限切れになるトークンのオプトアウト

新しいGitHub Appを作成する際には、デフォルトでそのアプリケーションは期限切れになるユーザからサーバーへのアクセストークンを使用します。

アプリケーションに期限切れにならないユーザからサーバーへのアクセストークンを使わせたい場合には、アプリケーションの設定ページで"Expire user authorization tokens(ユーザ認可トークンの期限切れ)"を選択を解除できます。

GitHub App のセットアップ中に期限付きユーザトークンをオプトインするオプション

ユーザからサーバーへの認可トークンを使用する既存のGitHub Appは、アプリケーションのオーナーが期限になるユーザトークンをアプリケーションに対して有効化した場合にのみ、この新しいフローの影響を受けます。

既存のGitHub Appに対して期限切れになるユーザトークンを有効化するためには、8時間で期限切れになる新しいユーザトークンを再発行するためにOAuthフローを通じてユーザを送信し、リフレッシュトークンを使って新しいアクセストークンとリフレッシュトークンを取得するためのリクエストを発行する必要があります。 詳しい情報については「GitHub Appのユーザの特定と認可」を参照してください。

参考リンク

Did this doc help you?

Privacy policy

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

OR, learn how to contribute.