Réussir l’authentification et la sécurité dans Laravel
David Touzet19 juillet 20264 min de lectureLaravel 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.
Authentification Laravel avec Breeze ou Jetstream
Prenez un starter kit officiel plutôt que de coder la connexion vous-même. Réécrire une authentification à la main, c’est du bricolage du dimanche. 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.
Jetons d’API Laravel, 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.
Autorisations Laravel, Gates et 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.
Protections natives Laravel et sécurité des 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 les bons réflexes, et tenez-les. HTTPS partout, chaque entrée validée, les 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.
La sécurité ne se rattrape pas après coup, elle se pose dans l’architecture. C’est ce que nous faisons dès le premier jour sur les applications que nous développons.
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.
Faire le point sur votre siteDes 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.
Voir les 12 agents