Appearance
BDD-10 — Connexion par magic link
1. User Story
En tant que client externe Je veux recevoir un lien de connexion par email Afin de me connecter sans avoir à retenir un mot de passe
2. Criteres d'acceptance
- L'utilisateur saisit son email et reçoit un lien de connexion valide
- Le lien expire après un délai défini (ex. 15 minutes à paramétrer sur supabase)
- Le lien ne peut être utilisé qu'une seule fois
- En cas de lien expiré, un message explicite est affiché avec la possibilité d'en redemander un
3. Perimetre fonctionnel
- Page de connexion front:
front/src/pages/login/LoginPage.vue - Composant de bascule de mode:
front/src/components/ui/ToggleMagicLink.vue - Authentification cote front via store:
front/src/stores/auth-store.js - Gestion des erreurs de lien dans le store auth (
magicLinkError) - Recuperation du profil apres session valide:
front/src/stores/user-store.js - Navigation post-authentification: redirection vers la route cible (
query.redirect) ou/
4. Points de verification
- Presence du toggle
Mot de passe/Magic link. - Bascule visuelle correcte (champ mot de passe masque en mode magic link).
- Appel de
sendMagicLink(email)en mode magic link. - Affichage du message de confirmation apres envoi.
- Affichage du message d'erreur en cas d'echec d'envoi.
- Redirection apres creation/recuperation de session valide.
5. Tests associes
- Tests unitaires/composants:
front/src/__tests__/pages/login/LoginPage.spec.jsfront/src/__tests__/components/ui/ToggleMagicLink.spec.js
- Tests E2E front (Playwright):
front/e2e/login.spec.js- magic link: bascule de mode et affichage du bouton dedie
- magic link: envoi OK -> message de confirmation
- magic link: envoi KO -> message d'erreur explicite
