Réussir l’authentification et la sécurité dans Laravel
Laravel gère bien l’authentification et la sécurité grâce à des outils prêts à l’emploi. Vous installez un starter kit pour la connexion, vous choisissez Sanctum ou Passport pour les API, vous cadrez les droits avec les Gates et les Policies, et vous profitez des protections natives contre le CSRF, le XSS et l’injection SQL.
Mettre en place l’authentification avec Breeze ou Jetstream
Commencez par un starter kit officiel plutôt que de coder la connexion vous-même. Vous gagnez du temps et vous partez sur une base éprouvée.
Breeze installe l’inscription, la connexion, la réinitialisation de mot de passe, la vérification d’email et la confirmation de mot de passe. Ses vues sont de simples gabarits Blade en Tailwind. C’est le bon choix pour un projet classique ou un premier site.
Jetstream reprend tout Breeze et ajoute la double authentification, la gestion des sessions actives, les jetons d’API et la gestion d’équipes. Choisissez-le quand ces fonctions avancées comptent dès le départ.
Sous le capot, Laravel gère les sessions, hache les mots de passe avec bcrypt ou argon, et protège vos pages avec les middleware auth, guest et verified. Si le framework est nouveau pour vous, notre article Laravel, c’est quoi pose les bases avant de continuer.
Gérer les jetons d’API avec Sanctum ou Passport
Dès que votre application expose une API ou sert une interface monopage, vous avez besoin de jetons plutôt que de simples sessions.
Sanctum est l’option légère. Il authentifie les applications monopages, les mobiles et les API simples avec des jetons faciles à créer et à révoquer. C’est le choix par défaut pour la majorité des cas.
Passport installe un serveur OAuth2 complet. Réservez-le aux besoins qui exigent vraiment la norme entière, par exemple ouvrir votre API à des applications tierces.
Pour construire proprement les points d’entrée qui consommeront ces jetons, suivez notre guide créer une API REST avec Laravel.
Définir les autorisations avec les Gates et les Policies
Authentifier un utilisateur ne suffit pas. Vous devez aussi décider ce qu’il a le droit de faire. Laravel propose 2 mécanismes complémentaires.
Les Gates sont des fonctions courtes pour des vérifications simples, sans lien avec un modèle précis. Elles conviennent bien à une question comme l’accès à un tableau de bord d’administration.
Les Policies sont des classes dédiées à un modèle ou à une ressource. Elles regroupent au même endroit les règles qui décident qui peut voir, modifier ou supprimer un enregistrement.
La plupart des applications mélangent les 2 sans souci. Un point clé souvent oublié, vérifiez toujours les droits côté serveur, jamais uniquement dans l’affichage.
Profiter des protections natives et sécuriser les paiements
Laravel active plusieurs protections par défaut. La protection CSRF valide vos formulaires avec la directive @csrf. Blade échappe le contenu affiché avec {{ }} pour limiter le XSS. Eloquent utilise des requêtes préparées contre l’injection SQL.
Ajoutez ensuite les bons réflexes. Servez le site en HTTPS, validez chaque entrée, gardez vos secrets dans le fichier .env, limitez les tentatives de connexion et mettez à jour Laravel, PHP et vos dépendances Composer.
Pour encaisser des paiements, appuyez-vous sur Laravel Cashier, qui relie votre application à Stripe ou Paddle. Laissez le prestataire de paiement gérer les données de carte, ne les stockez jamais vous-même, et exigez HTTPS sur tout le tunnel d’achat. Aucun réglage ne rend un site invulnérable, mais cet ensemble réduit fortement les risques. Quand le site part en ligne, notre guide pour déployer et héberger une application Laravel en France verrouille aussi l’environnement serveur.
Les liens à garder sous la main
Gardez ces 3 ressources ouvertes pendant votre mise en place.
Questions fréquentes
Une application Laravel sur mesure
Laravel permet des outils web puissants, on les met à votre service. On conçoit et développe votre application à Montpellier, robuste et évolutive.
Parler à DavidDes agents IA pour votre outil web
L’Agent Webmaster maintient votre application, l’Agent Cybersécurité la protège et l’Agent Veille technique anticipe les évolutions. 12 agents IA au travail.
Découvrir un agent IA