Skip to main content

Qu’est-ce que l’authentification

L’authentification (Authentication) est le mécanisme qui vérifie « qui » est l’utilisateur qui accède à l’application. Sur une application web, un formulaire de connexion reçoit un e-mail et un mot de passe : si les identifiants sont valides, les informations utilisateur sont stockées en session. Pour les requêtes suivantes, cette session sert à identifier l’utilisateur. L’authentification Laravel repose sur deux concepts : les « gardes » (guards) et les « providers ».
  • Garde : définit comment authentifier l’utilisateur à chaque requête. Par défaut, la garde session utilise la session et les cookies pour gérer l’état.
  • Provider : définit comment récupérer les utilisateurs depuis la base. Par défaut, Eloquent est utilisé.
Le fichier de configuration d’authentification est config/auth.php. Ses valeurs par défaut couvrent la plupart des applications web.

Authentification via un kit de démarrage

Avec Laravel, il suffit de choisir un kit de démarrage lors de la création via laravel new pour que la connexion, l’inscription et la réinitialisation du mot de passe soient configurées automatiquement. C’est la méthode recommandée.
1

Créer l'application

Créez l’application avec l’installateur Laravel. Une invite propose de choisir un kit de démarrage.
Vous pouvez choisir entre React, Vue, Livewire et Svelte. Sélectionnez celui qui correspond à la pile technique de votre équipe.
2

Installer les dépendances frontend

3

Préparer la base de données

Vérifiez la configuration de base de données dans .env, puis exécutez les migrations.
La migration initiale, qui inclut la table users, est appliquée.
4

Démarrer le serveur de développement

En vous rendant sur http://localhost:8000, vous verrez les liens « Register » et « Log in ». Accédez à /register pour créer un utilisateur.
Le kit de démarrage donne accès immédiat aux fonctionnalités suivantes.
Le code généré par le kit (contrôleurs, routes, vues) se trouve dans votre application. Vous êtes libre de le modifier et de le personnaliser.

Kits de démarrage disponibles

React

Application SPA moderne construite avec React 19, TypeScript, Tailwind et shadcn/ui. Grâce à Inertia, vous conservez le routage côté serveur tout en utilisant un frontend React.

Vue

Utilise la Composition API de Vue, TypeScript, Tailwind et shadcn-vue. Comme pour React, Inertia sert de pont avec le backend.

Livewire

Utilise Livewire pour construire des UI dynamiques uniquement en PHP. Idéal pour les équipes centrées sur Blade ou celles qui veulent éviter les frameworks JavaScript. La bibliothèque de composants Flux UI est incluse.

Svelte

Utilise Svelte 5, TypeScript, Tailwind et shadcn-svelte. Combiné à Inertia pour construire une SPA moderne.

Façade d’authentification

La façade Auth permet d’obtenir l’utilisateur courant et de vérifier l’état d’authentification.

Récupérer l’utilisateur authentifié

Dans un contrôleur, vous pouvez aussi l’obtenir depuis l’objet Request.

Vérifier l’état d’authentification

Auth::check() retourne true si l’utilisateur est connecté, false sinon.
Dans un template Blade, les directives @auth et @guest sont pratiques.

Protéger des routes

Pour restreindre une route aux utilisateurs connectés, utilisez le middleware auth.
Un utilisateur non authentifié est redirigé automatiquement vers /login. Pour protéger plusieurs routes, utilisez un groupe.
Sans le middleware auth, un utilisateur non connecté peut accéder aux routes. Appliquez-le systématiquement aux routes protégées.

Routes réservées aux invités

Pour rediriger les utilisateurs déjà connectés, utilisez le middleware guest. Appliqué aux pages de connexion et d’inscription, il redirige les utilisateurs connectés vers le tableau de bord.

Authentification manuelle

Pour implémenter la connexion manuellement (sans kit de démarrage), utilisez Auth::attempt().
Le premier argument est un tableau d’identifiants. Le mot de passe est comparé automatiquement au hachage : passez-le en clair. Pour implémenter la fonctionnalité « Se souvenir de moi », passez true comme second argument.
Même en implémentation manuelle, inspirez-vous du code du kit de démarrage : c’est un excellent exemple de mise en œuvre sécurisée.

Déconnexion

Appelez Auth::logout() pour déconnecter l’utilisateur. Il est recommandé d’invalider la session et de régénérer le token CSRF en même temps.
Utilisez la méthode POST pour la route.
Dans un template Blade, utilisez un formulaire pour envoyer une requête POST.

Récapitulatif

Prochaines étapes

Middleware

Découvrez plus en détail le middleware auth et la création de vos propres middlewares.
Dernière modification le 13 juillet 2026