Skip to main content

トークンの有効期限と取り消し

トークンは、期限切れになる可能性があり、ユーザー、承認したアプリケーション、GitHub 自体によって取り消される場合もあります。

トークンが期限切れになるか取り消されると、Git 要求と API 要求の認証に使用できなくなります。 期限切れのトークンや取り消されたトークンを復元することはできません。ユーザーまたはアプリケーションが新しいトークンを作成する必要があります。

この記事では、GitHub トークンが取り消されるか期限切れになる可能性がある理由について説明します。

注: personal access tokenまたは OAuth トークンが期限切れになるか取り消されると、セキュリティ ログに oauth_authorization.destroy アクションが表示されることがあります。 詳しくは、「セキュリティ ログをレビューする」を参照してください。

有効期限に達した後に取り消されるトークン

personal access tokenを作成するときは、トークンの有効期限を設定することをお勧めします。 有効期限に達すると、トークンは自動的に取り消されます。 詳しくは、「個人用アクセス トークンを管理する」を参照してください。

パブリック リポジトリまたはパブリック gist にプッシュされたときに取り消されるトークン

有効な OAuth トークン、GitHub App トークン、personal access tokenがパブリック リポジトリまたはパブリック gist にプッシュされると、そのトークンは自動的に取り消されます。

使用されないために期限切れになるトークン

GitHub では、1 年間使用されていない OAuth トークンまたはpersonal access tokenを自動的に取り消します。

ユーザーによって取り消されるトークン

アカウント設定から GitHub Appまたは OAuth appの認可を取り消して、アプリに関連付けられているトークンを取り消すことができます。 詳細については、「GitHub Apps の承認の確認と取り消し」および「承認された OAuth アプリをレビューする」を参照してください。

認可が取り消されると、その認可に関連付けられているトークンも取り消されます。 アプリケーションを再認証するには、サードパーティのアプリケーションまたは Web サイトの指示に従って、GitHub.com のアカウントを再度接続します。

OAuth appによって取り消されるトークン

OAuth appの所有者は、アプリのアカウントの認可を取り消すことができます。これにより、認可に関連付けられているトークンも取り消されます。 OAuth appの承認を取り消す方法について詳しくは、「OAuth 承認用 REST API エンドポイント」をご覧ください。

OAuth app 所有者は、承認に関連付けられている個々のトークンを取り消すこともできます。 OAuth appの個別のトークンを取り消す方法について詳しくは、「OAuth 承認用 REST API エンドポイント」をご覧ください。

同じスコープを持つ OAuth appのトークン数が多すぎるために取り消されるトークン

ユーザー/アプリケーション/スコープの組み合わせごとに、1 時間あたり作成されるトークン数には 10 という上限があります。 アプリケーションで同じユーザーと同じスコープに対して 10 個を超えるトークンが作成された場合、同じユーザー/アプリケーション/スコープの組み合わせを持つ最も古いトークンが取り消されます。 ただし、時間単位のレート制限に達しても、最も古いトークンは取り消されません。 代わりに、ブラウザー内で再承認プロンプトがトリガーされ、ユーザーはアプリに付与しているアクセス許可を再確認するよう求められます。 このプロンプトは、アプリが 1 時間以内にユーザーに 10 個のトークンを要求する理由がほとんどないため、アプリが陥っている可能性のある無限ループを中断させることを目的としています。

GitHub Appの構成が原因で期限切れしたユーザー トークン

GitHub App によって作成されたユーザー アクセス トークンは、既定では 8 時間後に期限切れになり、含まれている更新トークンを使用して再生成する必要があります。 GitHub Apps の所有者は、必要に応じてこれらのトークンを期限切れにならないように構成できますが、セキュリティへの影響があるため、これは推奨されません。 GitHub App アプリのユーザー アクセス トークンの構成の詳細については、「GitHub アプリのオプション機能のアクティブ化」を参照してください。