Chargement en cours...
Chargement en cours...
Apprenez à créer un système d'authentification complet avec Next.js
L'authentification et la protection des routes sont des aspects fondamentaux pour toute application moderne. Dans cet article, nous allons explorer comment créer une page de profil utilisateur entièrement protégée dans une application Next.js en utilisant l'App Router, les Middleware et les API Routes.
Avant de commencer, clarifions quelques concepts essentiels :
Commençons par mettre en place notre projet Next.js :
Voici la structure de fichiers que nous allons créer :
app/
api/
auth/
[...nextauth]/
route.ts
user/
profile/
route.ts
register/
route.ts
profile/
page.tsx
auth/
signin/
page.tsx
register/
page.tsx
middleware.ts
lib/
auth.ts
db.ts
components/
ProfileForm.tsx
AuthForm.tsx
ProtectedRoute.tsx
Pour cet exemple, nous utiliserons Prisma avec une base de données PostgreSQL :
Créons un modèle utilisateur simple avec Prisma :
Le middleware est essentiel pour vérifier l'authentification avant d'accéder à des routes protégées :
Dans cet article, nous avons créé une application Next.js complète avec une page de profil utilisateur protégée par authentification. Nous avons utilisé:
Cette architecture est robuste, sécurisée et évolutive. Vous pouvez la personnaliser davantage en ajoutant d'autres fonctionnalités comme la vérification d'email, la réinitialisation de mot de passe, ou l'authentification à deux facteurs.
Le code complet est disponible sur GitHub pour référence.