My App

ADR-02: Auth flow

Magic link vs email/password pour les établissements

Contexte

L'admin Wcare crée le compte de l'établissement. Il faut un moyen de transmettre les credentials au client de manière sécurisée et simple.

Deux questions :

  1. Comment transmettre l'accès initial ?
  2. Quelle méthode d'auth au quotidien ?

Décision

Magic link pour l'onboarding, email/password disponible en option.

Onboarding

  1. L'admin crée l'établissement → un user est créé
  2. Un magic link (token unique, validité 24h) est envoyé par email
  3. L'établissement clique → session créée → accès au dashboard
  4. Option de définir un mot de passe après la première connexion

Auth quotidienne

  • Email/password pour les connexions régulières
  • Magic link disponible via "Mot de passe oublié"
  • Sessions via cookies httpOnly secure (Better Auth)

Alternatives écartées

AlternativeRaison du rejet
Envoyer le mot de passe par emailMauvaise pratique de sécurité — mot de passe en clair dans un email
OAuth uniquement (Google, etc.)Pas tous les établissements ont un compte Google corporate
Invitation avec lien d'inscriptionPlus de friction qu'un magic link direct
SMS OTPCoût par SMS, complexité d'intégration, pas universel

Conséquences

  • Positif : Aucun mot de passe en clair transmis par email
  • Positif : Onboarding frictionless — un clic suffit
  • Positif : Compatible avec Better Auth (magic link intégré)
  • Attention : Token magic link doit être one-time-use et limité dans le temps (24h)
  • Attention : L'email doit être vérifié implicitement via le clic du magic link

On this page