当令牌过期或被撤销时,它将不再用于身份验证 Git 和 API 请求。无法恢复已过期或被撤销的令牌,您或应用程序需要创建新的令牌。
本文档解释了 GitHub 令牌可能被撤销或过期的可能原因。
注意:当个人访问令牌或 OAuth 令牌过期或被撤销时,您可能会在安全日志中看到 oauth_authorization.destroy
操作。有关更多信息,请参阅“查看安全日志”。
令牌在达到过期日期后被撤销
创建个人访问令牌时,建议您为令牌设置过期时间。到达令牌的过期日期后,令牌将自动被撤销。有关更多信息,请参阅“管理您的个人访问令牌”。
将令牌推送到公共仓库或公共 gist 时被撤销
如果将有效的 OAuth 令牌、GitHub 应用令牌或个人访问令牌推送到公共仓库或公共 gist,则该令牌将自动被撤销。
由于缺乏使用而令牌过期
如果 OAuth 令牌或个人访问令牌一年内未使用,GitHub 将自动撤销该令牌。
令牌被用户撤销
您可以从您的帐户设置中撤销对 GitHub 应用或 OAuth 应用的授权,这将撤销与该应用关联的任何令牌。有关更多信息,请参阅“查看和撤销 GitHub 应用的授权”和“查看您授权的 OAuth 应用”。
撤销授权后,与该授权关联的任何令牌也将被撤销。要重新授权应用程序,请按照第三方应用程序或网站的说明再次连接您在 GitHub.com 上的帐户。
令牌被 OAuth 应用撤销
OAuth 应用的所有者可以撤销帐户对其应用的授权,这也会撤销与该授权关联的任何令牌。有关撤销 OAuth 应用授权的更多信息,请参阅“OAuth 授权的 REST API 端点”。
OAuth 应用所有者还可以撤销与授权关联的单个令牌。有关撤销 OAuth 应用的单个令牌的更多信息,请参阅“OAuth 授权的 REST API 端点”。
由于具有相同范围的 OAuth 应用的令牌过多而导致令牌被撤销
每个用户/应用程序/范围组合最多可以发出十个令牌,每小时的创建速率限制为十个令牌。如果应用程序为同一用户和相同范围创建了超过十个令牌,则具有相同用户/应用程序/范围组合的最旧令牌将被撤销。但是,达到每小时速率限制不会撤销您最旧的令牌。相反,它将在浏览器中触发重新授权提示,要求用户再次检查他们授予应用程序的权限。此提示旨在为应用程序可能陷入的任何潜在无限循环提供休息,因为应用程序在每小时内从用户那里请求十个令牌几乎没有理由。
用户令牌因 GitHub App 配置而过期
GitHub App 创建的用户访问令牌默认情况下将在八小时后过期,然后必须使用包含的刷新令牌重新生成。GitHub App 的所有者可以选择配置这些令牌永不过期,但不建议这样做,因为存在安全隐患。有关配置 GitHub App 用户访问令牌的更多信息,请参阅“为 GitHub App 激活可选功能”。