Skip to main content

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 :

  1. Génère un token de reset
  2. 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.