Rate Limiting basé sur les Access Tokens
La mise en place d'une fonction de Rate Limiting permet de réduire les risques d'abus d'utilisation des APIs. En utilisant OAuth 2.0 pour gérer les autorisations d'accès, nous avons l'opportunité de définir un rate limit par ACCESS TOKEN délivré.
Si un client effectue trop de requêtes sur l'API, il reçoit alors une réponse "429 Too much requests" avec le contenu JSON ci-dessous :
{
"x-rate-limit-limit": 1000,
"x-rate-limit-remaining": 0,
"x-rate-limit-reset": 100
}
Dans l'exemple ci-dessus, le client a épuisé son quota de 1000 requêtes et doit attendre 100 secondes avant de pouvoir effectuer de nouveau des requêtes.
En s'appuyant sur la solution F5 BIG-IP et les iRules, nous avons conçu un service de Rate Limit pour les APIs protégées avec OAuth 2.0. Le code source est disponible sur le site devcentral.f5.com