Débloquer un compte utilisateur
Le décorateur AuthRateLimit :
@AuthRateLimit({ attempts: 5, duration: 3600 })
permet de bloquer l'accès à une fonctionnalité si trop de tentatives ont été effectué. L'implémentation est utilisée pour la connexion, dès lors qu'un utilisateur tente de se connecter 5 fois avec le mauvais mot de passe / email, ce dernier doit attendre 1 heure avant d'être débloqué.
Pour débloquer un utilisateur, il faut se connecter à la database de production, soit :
ssh firstName@DB-PROD
Une fois connecté, on se rend dans le répertoire We-Go :
cd /var/wego/
Puis on exécute la commande suivante, afin de se connecter à l'interface redis :
sudo docker exec -it wego-redis-1 redis-cli
On peut lire les différentes clés liées au blocage de connexion avec :
KEYS auth*
Les clés qui commencent par "auth:block" empêchent alors la connexion si la valeur est "true". Tandis que les clés qui commencent par "auth:fail" stockent le nombre de tentatives effectuées.
Pour débloquer un utilisateur, il suffit de supprimer la clé "block" liée :
DEL "auth:block:ip:XXX:email:XXX"