MCO Activation manuelle d'un compte utilisateur
July 15, 2026 at 9:27 AMContexte
Quand un utilisateur ne reçoit pas (ou ne clique pas) le mail d’activation, il est possible d’activer son compte manuellement en composant le lien d’activation depuis la base de données.
Étape 1 — Récupérer le token d’activation en base
Se connecter à la base PostgreSQL et exécuter :
SELECT id, email, subject, created_at
FROM customer_web_mails
WHERE subject = 'activated_webuser'
AND email = 'EMAIL_DU_COMPTE'
ORDER BY created_at DESC
LIMIT 1;
Remplacer EMAIL_DU_COMPTE par l’adresse mail du compte à activer.
Étape 2 — Vérifier la validité du token (expiration)
Le token expire 24 heures après created_at.
SELECT id, email, created_at,
(created_at + INTERVAL '24 hours') AS expires_at,
CASE WHEN NOW() > (created_at + INTERVAL '24 hours') THEN 'EXPIRÉ' ELSE 'VALIDE' END AS statut
FROM customer_web_mails
WHERE subject = 'activated_webuser'
AND email = 'EMAIL_DU_COMPTE'
ORDER BY created_at DESC
LIMIT 1;
Si le token est EXPIRÉ, l’URL ne fonctionnera pas (retour 401). L’utilisateur doit redemander un mail de confirmation depuis l’interface, ou contacter un développeur pour générer un nouveau token.
Étape 3 — Composer l’URL d’activation
Avec l’id récupéré à l’étape 1 :
https://<domaine>/user/register-confirm/<id>
L’alias suivant fonctionne aussi :
https://<domaine>/activation/<id>
Étape 4 — Ouvrir l’URL dans un navigateur
Coller l’URL dans un navigateur (ou la transmettre à l’utilisateur).
L’application appelle automatiquement l’API PUT /users/activate/<id>. En cas de succès, l’utilisateur est redirigé vers la page de connexion avec un message de confirmation.
Codes d’erreur possibles
| Code HTTP | Cause | Action |
|---|---|---|
404 |
Token introuvable en base | Vérifier l’email, chercher dans customer_web_mails |
401 |
Token expiré (created_at > 24h) |
Demander un nouvel email de confirmation |
500 |
Erreur sauvegarde base | Consulter les logs applicatifs |
Vérification post-activation
SELECT id, is_active, email
FROM customer_web
WHERE email = 'EMAIL_DU_COMPTE';
is_active = true confirme l’activation.