Limitation d'accès à l'API¶
Ajouté dans la version 0.7.0.
Modifié dans la version 1.0.4: Suppression de la valeur par défaut de la variable API_RATE_LIMITS afin de pouvoir désactiver la limitation d'accès quand Redis est configuré
Si la variable API_RATE_LIMITS est définie et que Redis est disponible, la limitation d'accès à l'API est gérée par Flask-Limiter, et basée sur l'adresse IP avec une stratégie de période fixe.
Note
Si aucune instance Redis n'est disponible, FitTrackee pourra tout de même démarrer.
Tous les points d'accès sont soumis à des limitations d'accès sauf les points servant des assets.
Les limites sont définies en configurant la variable
API_RATE_LIMITS, par exemple 300 per 5 minutes (cf. la documentation Flask-Limiter sur la notation).Les limites multiples doivent être séparées par des virgules, par exemple :
export API_RATE_LIMITS="200 per day,50 per hour"
Flask-Limiter fournit une Interface de ligne de commande à des fins de maintenance et de diagnostic.
$ flask limiter
Usage: flask limiter [OPTIONS] COMMAND [ARGS]...
Flask-Limiter maintenance & utility commands
Options:
--help Show this message and exit.
Commands:
clear Clear limits for a specific key
config View the extension configuration
limits Enumerate details about all routes with rate limits
Note
La limitation d'accès peut être gérée par d'autres applications, telles que nginx.