Contexte

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.