# Débloquer un compte utilisateur

Le décorateur **AuthRateLimit** :
``` typescript
@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 :
``` bash
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"
```