Skip to main content

令牌过期和吊销

令牌可以过期,也可以由你、你授权的应用程序和 GitHub 本身吊销。

当令牌过期或被撤销时,它将不再用于对 Git 和 API 请求进行身份验证。 无法还原过期或已吊销的令牌,您或应用程序将需要创建新令牌。

本文介绍您的 GitHub 令牌可能被吊销或过期的原因。

注意

当 personal access token、OAuth app 令牌或 GitHub App 令牌过期或被吊销时,您可能会在安全日志中看到 oauth_authorization.destroy 操作。 有关详细信息,请参阅“审查您的安全日志”。

令牌到期后被撤销

创建令牌 personal access token时,建议为令牌设置过期时间。 到达令牌的到期日期后,令牌将自动吊销。 有关详细信息,请参阅“管理个人访问令牌”。

用户吊销令牌

您可以在账户设置中撤销对GitHub App或OAuth app的授权,这将撤销与该应用关联的所有令牌。 有关详细信息,请参阅 查看和撤销GitHub应用的授权审查授权的 OAuth 应用

撤销授权后,与授权关联的任何令牌也将被吊销。 若要重新授权应用程序,请按照第三方应用程序或网站的说明再次连接帐户 GitHub 。

由 OAuth app 撤销的令牌

帐户 OAuth app 的所有者可以撤销其应用的授权,这也会撤销与授权关联的任何令牌。 有关撤销您对 OAuth app 的授权的详细信息,请参阅 用于 OAuth 授权的 REST API 终结点

OAuth app 所有者还可以撤销与授权关联的单个令牌。 有关撤销 OAuth app 中单个令牌的更多信息,请参阅 用于 OAuth 授权的 REST API 终结点

因同一 OAuth app 拥有过多相同作用域的令牌而被撤销的令牌

每个用户/应用程序/作用域组合签发的令牌数量有限,速率限制是每小时创建十个令牌。 如果应用程序为同一用户和相同作用域创建超过十个令牌,则将撤销具有相同用户/应用程序/作用域组合的最旧令牌。 但是,达到每小时速率限制不会撤销最早的令牌。 相反,它会在浏览器中触发重新授权提示,要求用户仔细检查他们向你的应用授予的权限。 此提示旨在中断应用陷入的任何潜在的无限循环,因为应用几乎没有理由在一小时内向用户请求十个令牌。

由于配置, GitHub App 用户令牌已过期

默认情况下,由 a GitHub App 创建的用户访问令牌将在 8 小时后过期,然后使用包含的刷新令牌重新生成。 GitHub Apps所有者可以选择将这些令牌配置为永不过期,但由于安全影响,不建议这样做。 有关配置 GitHub App用户访问令牌的详细信息,请参阅 激活GitHub应用的可选功能