当令牌过期或被撤销时,它将不再用于对 Git 和 API 请求进行身份验证。 无法还原过期或已吊销的令牌,您或应用程序将需要创建新令牌。
本文介绍了 GitHub Enterprise Server 令牌可能被吊销或过期的可能原因。
注意:当 personal access token 或 OAuth 令牌过期或撤销时,你可能会在安全日志中看到 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 配置而过期
默认情况下,GitHub App 创建的用户访问令牌将在 8 小时后过期,然后必须使用包含的刷新令牌重新生成。 GitHub Apps 的所有者可以选择将这些令牌配置为永不过期,但由于存在安全隐患,不建议这样做。 有关配置 GitHub App 的用户访问令牌的详细信息,请参阅“激活 GitHub 应用的可选功能”。