Principes d’authentification

Comprendre comment l'authentification est modélisée dans Starter Free et comment la transmettre en toute sécurité à votre fournisseur.

Starter FreeMise à jour 27 avril 2026
DémarrageRes

Vue d’ensembleLien vers la section

L'authentification est la point d'entrée de chaque produit SaaS.

Starter Free vous donne un complet surface d'authentification:

  • connexion
  • enregistrer
  • mot de passe oublié
  • validation
  • états de chargement
  • États d'erreur
  • rediriger les flux

Mais Aucun fournisseur n'est câblé.

C'est intentionnel.

Idée de base

Starter Free définit les auth UX contract. Vous branchez le fournisseur lorsque votre produit devient réel.

Modèle mentalLien vers la section

L'interface utilisateur est stable. La mise en œuvre est remplaçable.

CoucheResponsabilité
UIFormulaires, états, validation, feedback
RoutageRedirections, pages protégées
FournisseurSessions, tokens, identité
Backend (plus tard)autorisations, rôles, contrôle d'accès

Ce que Starter Free vous donneLien vers la section

Inclus

  • login / enregistrer / oublié les écrans de mot de passe
  • Validation de formulaire et états d'erreur
  • États de chargement et de désactivation
  • rediriger les flux
  • Mise en page AuthShell

Not included (on purpose)

  • gestion des sessions
  • JWT / cookies
  • Fournisseurs OAuth
  • Livraison par email
  • mot de passe reset backend

Autres routesLien vers la section

routes
app/(auth)/
  login/
  register/
  forgot-password/

Motif AuthShellLien vers la section

components/auth/auth-shell.tsx
<AuthShell
  title="Welcome back"
  description="Sign in to your account"
  footer={...}
/>

FluxLien vers la section

User submits form
→ validate inputs
→ call signIn()
→ redirect to /dashboard

Câblage de votre fournisseurLien vers la section

Starter Free est indépendant du fournisseur :

  • Auth.js / NextAuth
  • Greffier
  • Supabase Auth
  • Backend personnalisé
auth-action.ts
async function onSubmit(values) {
  await signIn(values.email, values.password);
  router.push("/dashboard");
}

Règles UXLien vers la section

Préférez

  • messages d'erreur clairs
  • Désactivé pendant le chargement
  • Redirections cohérentes
  • États de réussite explicites

Éviter

  • Erreurs génériques
  • Doubles soumissions
  • Pas de feedback
  • existence d'un utilisateur