Skip to main content

OAuth 应用速率限制

速率限制将流量速率限制为 GitHub.com,以帮助确保所有用户的一致访问。

注意:请考虑生成 GitHub App 而不是 OAuth app。 使用安装访问令牌的 GitHub Apps 的速率限制随存储库数和组织用户数而缩放。 相反,OAuth apps 的速率限制较低,并且无法缩放。 有关详细信息,请参阅“GitHub 应用和 OAuth 应用之间的差异”和“关于创建 GitHub 应用”。

关于 OAuth apps 的速率限制

OAuth apps 在用户授权应用后使用用户访问令牌发出请求,从而代表用户执行操作。 有关详细信息,请参阅“授权 OAuth 应用”。

这些用户访问令牌的生成受到速率限制。 此外,使用这些用户访问令牌发出的 API 请求受到速率限制。

登录用户的速率限制

OAuth apps 应始终缓存其令牌,并且很少需要登录用户。 反复登录用户可能表明存在 bug,最常被视为应用和 GitHub 之间的无限循环。 如果应用在一小时内使用户登录十次,则同一小时内的下一次登录将需要对该应用程序重新授权。 这确保用户知道应用正在构建大量令牌,并且中断可能会发生的无限循环。 这 10 _个登录_速率限制不同于为 OAuth apps 强制执行的 10 个_令牌_限制。 有关 10 个令牌限制的信息,请参阅“授权 OAuth 应用”。

API 的速率限制

GitHub 对 OAuth app 在特定时间段内可以向 REST API 提出的请求数设置限制。 它还会对 OAuth app 在特定时间段内对 GraphQL API 进行的查询的点值设置限制。 除了这些主要速率限制之外,GitHub 可能还会应用次要速率限制。 这些限制有助于防止滥用和拒绝服务攻击,并确保系统仍可供所有用户使用。

有关详细信息,请参阅“REST API 的速率限制”和“GraphQL API 的速率限制和节点限制”。

延伸阅读