注意
请考虑生成 GitHub App 而不是 OAuth app。 使用安装访问令牌的 GitHub Apps 的速率限制随存储库数和组织用户数而缩放。 相反,OAuth apps 的速率限制较低,并且无法缩放。 有关详细信息,请参阅 AUTOTITLE 和 AUTOTITLE。
警告
OAuth apps 的访问令牌请求速率限制为每小时 2,000 次。 如果应用程序超出此限制,后续生成新访问令牌的请求将被暂时阻止,且你可能会收到错误响应。 这可能会导致暂时性中断。 请相应地计划你的实现,以避免潜在的服务中断。
关于 OAuth apps 的速率限制
OAuth apps 在用户授权应用后使用用户访问令牌发出请求,从而代表用户执行操作。 有关详细信息,请参阅“AUTOTITLE”。
这些用户访问令牌的生成受到速率限制。 此外,使用这些用户访问令牌发出的 API 请求受到速率限制。
登录用户的速率限制
OAuth apps 应始终对其令牌进行缓存,并且很少需要用户登录。 反复让用户登录可能表明存在漏洞,这一现象最常见的表现是应用程序与 GitHub 之间出现无限循环。 如果应用在一小时内使用户登录十次,则同一小时内的下一次登录将需要对该应用程序重新授权。 这确保用户知道应用正在构建大量令牌,并且中断可能会发生的无限循环。 这 10 个登录速率限制不同于为 OAuth apps 强制执行的 10 个令牌限制。 有关 10 个 Token 限制的信息,请参阅 “AUTOTITLE”。
API 的速率限制
GitHub 对 OAuth app 在特定时间段内可以向 REST API 提出的请求数设置限制。 它还会对 OAuth app 在特定时间段内对 GraphQL API 进行的查询的点值设置限制。 除了这些主要速率限制之外,GitHub 可能还会应用次要速率限制。 这些限制有助于防止滥用和拒绝服务攻击,并确保系统仍可供所有用户使用。
有关详细信息,请参阅 AUTOTITLE 和 AUTOTITLE。
延伸阅读
- 自动标题
- 自动标题
- 自动标题