# OAuth 应用速率限制

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

> \[!NOTE]
> 请考虑构建GitHub App，而不是OAuth app。
> GitHub Apps 使用安装访问令牌时的速率限制会随仓库数量和组织用户数量的增加而提高。 相反， OAuth apps 具有较低的速率限制，并且不缩放。 有关详细信息，请参阅 [GitHub 应用和 OAuth 应用之间的差异](/zh/enterprise-server@3.22/apps/oauth-apps/building-oauth-apps/differences-between-github-apps-and-oauth-apps) 和 [关于创建GitHub应用](/zh/enterprise-server@3.22/apps/creating-github-apps/about-creating-github-apps/about-creating-github-apps)。

> \[!WARNING]
> OAuth apps 受**每小时 2,000 个访问令牌请求**的速率限制。 如果应用程序超出此限制，后续生成新访问令牌的请求将被暂时阻止，且你可能会收到错误响应。 这可能会导致暂时性中断\*\*\*\*。 请相应地计划你的实现，以避免潜在的服务中断。

## 关于 OAuth apps 的速率限制

OAuth apps 代表用户执行操作，方法是在用户授权应用后使用用户访问令牌发出请求。 有关详细信息，请参阅“[授权 OAuth 应用](/zh/enterprise-server@3.22/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps)”。

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

## 登录用户的速率限制

OAuth apps 应始终缓存其令牌，并且很少需要登录用户。 反复让用户登录可能表明存在 bug，最常见的表现是应用与 GitHub 之间出现无限循环。 如果应用在一小时内使用户登录十次，则同一小时内的下一次登录将需要对该应用程序重新授权。 这确保用户知道应用正在构建大量令牌，并且中断可能会发生的无限循环。 这项 10 次\_登录\_速率限制不同于对\_\_ 同样实施的 10 个OAuth apps限制。 有关 10 个令牌限制的信息，请参阅“[授权 OAuth 应用](/zh/enterprise-server@3.22/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps#creating-multiple-tokens-for-oauth-apps)”。

## API 的速率限制

对于 GitHub Enterprise Server，API 速率限制默认处于禁用状态。 请与站点管理员联系，以确认实例的速率限制。

如果你是网站管理员，可以为实例设置速率限制。 有关详细信息，请参阅“[配置速率限制](/zh/enterprise-server@3.22/admin/configuring-settings/configuring-user-applications-for-your-enterprise/configuring-rate-limits)”。

如果为超出您实例范围的用户或组织开发应用程序，则适用标准 GitHub 速率限制。 有关详细信息，请参阅文档中的 [](/zh/rest/using-the-rest-api/rate-limits-for-the-rest-api)[GraphQL API 的速率限制和查询限制](/zh/graphql/overview/rate-limits-and-query-limits-for-the-graphql-api) 和 GitHub Free。

## 延伸阅读

* [REST API 的速率限制](/zh/enterprise-server@3.22/rest/using-the-rest-api/rate-limits-for-the-rest-api)
* [GraphQL API 的速率限制和查询限制](/zh/enterprise-server@3.22/graphql/overview/rate-limits-and-query-limits-for-the-graphql-api)
* [GitHub 应用的速率限制](/zh/enterprise-server@3.22/apps/creating-github-apps/registering-a-github-app/rate-limits-for-github-apps)