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.