Skip to main content

Limites de taxa para aplicativos OAuth

Os limites de taxa restringem a taxa de tráfego para GitHub.com, para ajudar a garantir acesso consistente para todos os usuários.

Observação: considere criar um GitHub App em vez de um OAuth app. O limite de taxa dos GitHub Apps que usam um token de acesso de instalação é escalado com o número de repositórios e o número de usuários da organização. Por outro lado, os OAuth apps têm limites de taxa mais baixos e não são escalados. Para obter mais informações, confira "Diferenças entre os aplicativos GitHub e os aplicativos OAuth" e "Sobre a criação de Aplicativos do GitHub."

Sobre os limites de taxa para OAuth apps

GitHub define um limite para o número de solicitações que um OAuth app pode enviar ao servidor em um período de tempo específico. Esse limite ajuda a evitar abusos e ataques de negação de serviço e garante que o sistema permaneça disponível para todos os usuários.

GitHub pode aplicar limites de taxa secundários adicionais a algumas ações para garantir a disponibilidade da API. Você pode evitar limites de taxa secundários seguindo as melhores práticas e mantendo-se dentro das diretrizes de limite de taxa listadas abaixo. Para obter mais informações sobre limites de taxa secundários, confira "Práticas recomendadas para usar a API REST" e "Recursos na API REST".

OAuth apps agem em nome de um usuário, fazendo solicitações com um token de acesso do usuário depois que o usuário autoriza o aplicativo. Solicitações de token de acesso do usuário de OAuth apps são autenticadas com um token OAuth. Para obter mais informações, confira "Autorizar aplicativos OAuth".

Determinação de limites de taxa para um OAuth app

Você pode confirmar seu status de limite de taxa atual a qualquer momento usando a API REST. Para obter mais informações, confira "Recursos na API REST".

O OAuth apps podem encontrar limites de taxa durante as duas ações a seguir:

  1. Ao fazer login de usuários.
  2. Ao fazer chamadas de API.

OAuth apps devem sempre armazenar em cache seus tokens e só raramente precisam fazer login de um usuário. Fazer login repetidamente de um usuário pode ser sinal de um bug, mais frequentemente visto como um loop infinito entre o aplicativo e a GitHub. Se um aplicativo fizer o login do usuário dez vezes em uma hora, o próximo login dentro da mesma hora exigirá uma nova autorização do aplicativo. Isso garante que o usuário esteja ciente de que o aplicativo está cunhando tantos tokens e oferece uma pausa no que, de outra forma, poderia ser um loop infinito. Esse limite de dez taxas de login é diferente do limite de dez tokens também aplicado para OAuth apps. Para obter informações sobre o limite de dez tokens, consulte "Autorizar aplicativos OAuth".

OAuth apps também estão limitados a 5,000 solicitações por hora e por usuário autenticado. Todas as solicitações de OAuth apps autorizadas por um usuário ou um personal access token pertencente ao usuário e as solicitações autenticadas com uma das credenciais de autenticação do usuário compartilham a cota de cinco mil solicitações por hora para esse usuário.

OAuth apps estão sujeitos a um limite superior de 15.000 solicitações por hora e por usuário autenticado quando ambos os itens a seguir forem verdadeiros:

  • A solicitação é de um OAuth app que pertence a uma organização do GitHub Enterprise Cloud ou que é aprovado por ela.
  • O usuário autenticado é membro da organização do GitHub Enterprise Cloud.

Para obter mais informações sobre limites de taxa, confira "Recursos na API REST" e "Limite de taxa" na documentação da API REST.

Leitura adicional