Réinitialiser un mot de passe
Réinitialiser un mot de passe
Dernière mise à jour : 2026-05-10
Self-service (utilisateur)
Pas implémenté pour l'instant — pas d'envoi de mail magic-link en self-service. Si tu oublies ton mot de passe, contacte un admin.
Via admin (toi)
Deux options :
Option 1 — Bouton "Send password reset"
/admin → Users → ouvrir un user → bouton "Renvoyer mail de reset".
Appelle POST /api/admin/send-password-reset/:userId qui :
- Génère un token de reset
- Envoie un mail à l'adresse en BDD avec le lien
/reset-password?token=...
⚠️ Nécessite SMTP configuré (SMTP_HOST non vide). Sans SMTP, ça plantera silencieusement (à vérifier dans les logs).
Option 2 — Reset manuel via DB
Si SMTP indisponible :
docker exec -it boardgame-referee sh
sqlite3 /app/data/database.db
> UPDATE users SET password_hash = '<nouveau-hash-argon2>' WHERE username = 'foo';
Pour générer un hash argon2 :
docker exec -it boardgame-referee node -e "
import('argon2').then(a => a.hash('nouveau-mdp')).then(console.log)
"
Page /reset-password
Accepte un ?token=... depuis l'URL. Vérifie le token, demande un nouveau mot de passe, le hashe (argon2) et update la BDD. Le token est consommé (one-shot).
Si tu te bloques toi-même (admin)
Hash argon2 directement la nouvelle valeur en CLI comme ci-dessus, ou redémarre le container avec FIRST_ADMIN_USERNAME + FIRST_ADMIN_PASSWORD mis à jour — au boot, l'app crée/réinitialise l'admin défini par ces vars.
No comments to display
No comments to display