Remarque : envisagez de créer une GitHub App à la place d’une OAuth app. La limite de débit pour les GitHub Apps utilisant un jeton d’accès d’installation s’adapte au nombre de référentiels et au nombre d’utilisateurs dans l’organisation. À l’inverse, les OAuth apps ont des limites de débit inférieures et ne sont pas évolutives. Pour plus d’informations, consultez « Différences entre les applications GitHub et les applications OAuth » et « À propos de la création d’applications GitHub ».
À propos des limites de débit pour OAuth apps
GitHub définit une limite sur le nombre de requêtes qu’un OAuth app peut envoyer au serveur au cours d’une période spécifique. Cette limite permet d’éviter les abus et les attaques par déni de service et garantit que le système reste disponible pour tous les utilisateurs.
OAuth apps agissent pour le compte d’un utilisateur, en effectuant des requêtes avec un jeton d’accès utilisateur après que l’utilisateur a autorisé l’application. Les requêtes de jeton d’accès utilisateur des OAuth apps sont authentifiées à l’aide d’un jeton OAuth. Pour plus d’informations, consultez « Autorisation des applications OAuth ».
Déterminer des limites de débit pour un OAuth app
Vous pouvez confirmer l’état actuel de votre limite de débit à tout moment à l’aide de l’API REST. Pour plus d’informations, consultez « Ressources disponibles dans l’API REST ».
OAuth apps peuvent rencontrer des limites de taux pendant les deux actions suivantes :
- Pendant la connexion des utilisateurs.
- Pendant les appels d’API.
OAuth apps doivent toujours mettre en cache leurs jetons et n’ont que rarement besoin de se connecter à un utilisateur. La connexion répétée d’un utilisateur peut être un signe d’une bogue, le plus fréquemment considéré comme une boucle infinie entre l’application et GitHub. Si une application signe l’utilisateur en dix fois dans un délai d’une heure, la prochaine connexion dans la même heure nécessite une nouvelle autorisation de l’application. Cela garantit à l’utilisateur que l’application frappe tant de jetons et fournit une pause dans ce qui peut être une boucle infinie sinon. Cette limite de dix taux de connexion est différente de la limite de dix jeton également appliquée pour OAuth apps. Pour plus d’informations sur la limite de dix jetons, consultez « Autorisation des applications OAuth ».
OAuth apps sont également limités à 15 000 requêtes par heure et par utilisateur authentifié. Toutes les requêtes de OAuth apps autorisées par un utilisateur ou un personal access token appartenant à l’utilisateur et les requêtes authentifiées par toutes les informations d’identification de l’utilisateur partagent le même quota de 15 000 requêtes par heure pour cet utilisateur.
Pour aller plus loin
- « Rate limits and node limits for the GraphQL API » dans la documentation de l’API GraphQL