Aller au contenu

Auth investisseur (Better Auth)

L'authentification investisseur (login, signup, OAuth social, reset password, 2FA login, email verification) est entièrement gérée par Better Auth — montée par BetterAuthFastifyModule sous /api/auth/*.

Il n'existe plus de contrôleur HTTP customers/auth ni d'endpoints legacy (POST /customers/email/sign-in, OAuth Passport, exchange-jwt, etc.).

Routes client (clientAuth)

Flow Route Better Auth Clients
Sign-in email POST /api/auth/sign-in/email web, mobile
Sign-up email POST /api/auth/sign-up/email web, mobile
OAuth social POST /api/auth/sign-in/social (+ redirects provider) web, mobile
Session GET /api/auth/get-session web, mobile
Sign-out POST /api/auth/sign-out web, mobile
Forgot password POST /api/auth/request-password-reset web, mobile
Reset password POST /api/auth/reset-password web, mobile
Change password (authentifié) POST /api/auth/change-password web, mobile
2FA login plugin twoFactorsendOtp / verifyOtp web, mobile
Email verification signup plugin emailOTPsendVerificationOtp / verifyEmail web, mobile

Session & guard API métier

Les endpoints métier investisseur (/customers/*, /wallet/*, etc.) exigent une session Better Auth cookie validée par JwtAuthGuard (nom historique — pas de JWT Passport).

  • Cookie session : better-auth.session_token (ou __Secure-… en HTTPS)
  • Native : cookies persistés via @better-auth/expo (expo-secure-store)

Documentation détaillée

MFA post-login (legacy Redis)

Les actions sensibles après connexion (changement email/mot de passe, retrait, carte cadeau, etc.) passent encore par le MFA Redis (POST /auth/mfa/*). Voir mfa.md.

Le 2FA au login ne passe pas par Redis — uniquement le plugin Better Auth twoFactor.