


Sécuriser les API Laravel avec un sanctuaire ou une authentification passeport
Jul 11, 2025 am 03:21 AMLaravel Sanctum et Laravel Passport sont deux outils pour l'authentification de l'API, adaptés à différents scénarios. 1. Le sanctuaire est plus simple et plus léger, adapté aux spas, aux applications mobiles et à l'authentification de base des jetons; 2. Passport est un serveur OAuth2 complet qui prend en charge les jetons d'accès tiers, la révocation des jetons et le contr?le de la portée à grain fin. Si vous avez besoin de la fonction OAuth2, utilisez le passeport, sinon Sanctum est plus approprié. Le processus de paramètres des deux est différent: Sanctum doit installer, publier la configuration, exécuter la migration, mettre à jour le modèle utilisateur et ajouter du middleware et générer des jetons via la méthode CreateToken; Le passeport doit installer, exécuter la migration, exécuter la commande Passeport: installer, mettre à jour le modèle utilisateur et enregistrer les routes. Lors de la sélection, vous devez déterminer si les fonctionnalités avancées d'OAuth2 doivent être requises en fonction des exigences du projet.
Lorsque vous construisez des API avec Laravel, les sécuriser correctement est cruel, en particulier s'ils sont consommés par des applications mobiles ou des spas (applications à page). Deux outils courants pour cela sont Laravel Sanctum et Laravel Passport. Les deux peuvent gérer l'authentification, mais ils servent différents cas d'utilisation et ont des configurations distinctes.

Comprendre les différences: Sanctum vs passeport
Laravel Sanctum et Passport fournissent tous deux une authentification API, mais leur approche est très différente.

- Le sanctuaire est plus simple et léger. C'est idéal pour les spas, les applications mobiles et l'authentification simple basée sur des jetons.
- Passport est un serveur OAuth2 complet, ce qui signifie qu'il prend en charge des scénarios plus complexes comme les jetons d'accès tiers, la révocation des jetons et les étendues granulaires.
Si vous n'avez pas besoin de fonctionnalités OAuth2 complètes, Sanctum est généralement suffisant et plus facile à configurer.
Configuration du sanctum dans votre API Laravel
Pour sécuriser votre API Laravel avec Sanctum, suivez ces étapes:

Installer Sanctum : Run
composer require laravel/sanctum
et publier le fichier de configuration à l'aide dephp artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
.Exécuter les migrations : Sanctum a besoin d'une table pour stocker les jetons, alors exécutez
php artisan migrate
.Mettez à jour le modèle d'utilisateur : ajoutez le trait
HasApiTokens
à votre modèle d'utilisateur (use Laravel\Sanctum\HasApiTokens;
).Configurez Middleware : dans
app/Http/Kernel.php
, assurez-vous que\Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class
est ajoutée au groupeapi
Middleware.Créer des jetons : utilisez
$user->createToken('token-name')
pour générer des jetons. Renvoyez ce jeton au client après la connexion.Protéger les itinéraires : utilisez la garde
auth:sanctum
pour protéger vos itinéraires API.
Une chose à noter: les jetons sanctuaires n'expirent pas par défaut. Si vous voulez des jetons de courte durée, activez cela dans la configuration et gérez la logique de rafra?chissement du c?té client.
Comment sécuriser les API en utilisant Laravel Passport
Si votre application a besoin de fonctionnalités OAuth2 (comme permettant aux services tiers de s'authentifier), le passeport est le meilleur choix.
Voici comment commencer:
- Installer Passeport : Run
composer require laravel/passport
, puisphp artisan migrate
. - Installez les dépendances JavaScript : exécutez
npm install passport passport-http-bearer
si vous utilisez Node.js pour Frontend. - Exécuter la commande d'installation du passeport : exécuter
php artisan passport:install
. Cela génère des clés de chiffrement et crée des clients OAuth nécessaires pour émettre des jetons. - Mettre à jour le modèle utilisateur : ajoutez le trait
HasApiTokens
à partir du passeport et utilisez l'espace de nomsLaravel\Passport\HasApiTokens
. - Ajoutez des routes Passport : dans votre
AuthServiceProvider
, appelezPassport::routes()
à l'intérieur de la méthodeboot
. - SET AUTH GURD : Dans
config/auth.php
, définissez le piloteapi
surpassport
.
Avec Passport, vous pouvez émettre des jetons à longue durée de vie, les révoquer et même permettre aux utilisateurs d'accorder l'accès aux applications tierces. Cependant, cela ajoute également de la complexité - donc ne prenez cette voie que si vous avez vraiment besoin de ces fonctionnalités.
Choisir entre Sanctum et Passport
La décision revient vraiment aux exigences de votre projet.
-
Allez avec sanctum si:
- Vous construisez un spa ou une application mobile.
- Vous n'avez pas besoin de fonctionnalités OAuth2 comme des lunettes ou un accès tiers.
- La simplicité et la vitesse de configuration.
-
Choisissez le passeport si:
- Vous avez besoin d'un support complet OAuth2.
- Vous prévoyez d'offrir une API aux développeurs tiers.
- La gestion des jetons au-delà de Basic Auth est requise.
Les deux outils fonctionnent bien, mais les mélanger ne sont pas recommandés à moins que vous ayez une raison très spécifique de le faire.
Fondamentalement, commencez par Sanctum, sauf si vous savez que vous aurez besoin des capacités supplémentaires de Passport.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Inlaravel, Politicys organisationAutorizationLogicFormodelactions.1.PoliciesAreclasseswithMethodsLikeView, Create, Update etdeleTeTeTrueTrueorfalSebaseDonUserperMissions.2.ToregisterApolicy, MaptheModeltOtspolicyInThes.2.

Pour créer de nouveaux enregistrements dans la base de données à l'aide d'éloquente, il existe quatre méthodes principales: 1. Utilisez la méthode de création pour créer rapidement des enregistrements en transmettant le tableau d'attribut, tels que l'utilisateur :: Create (['name' => 'Johndoe', 'email' => 'John@example.com']); 2. Utilisez la méthode de sauvegarde pour instancier manuellement le modèle et attribuer des valeurs pour enregistrer une par une, ce qui convient aux scénarios où une affectation conditionnelle ou une logique supplémentaire est requise; 3. Utilisez FirstOrCreate pour trouver ou créer des enregistrements en fonction des conditions de recherche pour éviter les données en double; 4. Utilisez UpdateorCreate pour trouver des enregistrements et mettre à jour, sinon, créez-les, ce qui convient au traitement des données importées, etc., qui peuvent être répétitives.

Artisan est un outil de ligne de commande de Laravel pour améliorer l'efficacité du développement. Ses fonctions principales incluent: 1. Générer des structures de code, telles que les contr?leurs, les modèles, etc., et créer automatiquement des fichiers via MADE: Controller et autres commandes; 2. Gérer la migration de la base de données et remplir, utiliser migrer pour exécuter la migration, et db: semences pour remplir les données; 3. Prise en charge des commandes personnalisées, telles que Make: Command Creation Class Command Class pour implémenter l'encapsulation de la logique métier; 4. Fournir des fonctions de débogage et de gestion de l'environnement, telles que la clé: générer pour générer des clés et servir à démarrer le serveur de développement. La ma?trise de l'utilisation de l'artisan peut améliorer considérablement l'efficacité du développement de Laravel.

Oui, YouCaninstallLaravelonanyOperatingSystemByfollowingTheSesteps: 1. InstallphpanDrequedExtensionsLikembstring, OpenSSL etxmlusingToolsLILLOxAmPonWindows, HomebrewonMacos, oraptonlinux; 2.InstallPoser, usinganinstalleronwindowswordrsormialCommandonmacer, usinganinstalleronwindowswordrsormiralcommandonmacer, usinganinstalleronwindowswordrsormiralcommandonmacer, usinganinstalleronwindowswordrsormiralcommandonmacer, usinganinstalleronwindowsterminbcommandonson

ToruntestSinLaravelEffective, uthethPartisantStCommand qui-même sifflifiesphpunisage.1.setupa.env.testingfileandconfigurephpunit.xmltousetestDatabaselikesqlite.2.GenerateTestSusingPartisanMake: Test, using - UnitForUrst.writeTetswithesSanMake: Test, Using - Unitfornits.writeTetswitheswithes

La définition d'une méthode (également connue sous le nom d'action) dans un contr?leur est de dire à la demande quoi faire lorsque quelqu'un visite une URL spécifique. Ces méthodes traitent généralement les demandes, traitent les données et renvoient des réponses telles que les pages HTML ou JSON. Comprendre la structure de base: la plupart des cadres Web (tels que RubyOnRails, Laravel ou SpringMVC) utilisent des contr?leurs pour regrouper les opérations liées. Les méthodes de chaque contr?leur correspondent généralement à un itinéraire, c'est-à-dire le chemin d'établissement d'URL auquel quelqu'un peut accéder. Par exemple, il peut y avoir les méthodes suivantes dans PostController: 1.Index () - Afficher la liste des postes; 2.Show () - Afficher les messages individuels; 3.Create () - gérer la création de nouveaux messages; 4.U

Le r?le principal du contr?leur dans Laravel est de traiter les demandes HTTP et de retourner les réponses pour garder le code soigné et maintenable. En concentrant la logique de demande pertinente dans une classe, le contr?leur simplifie le fichier de routage, tel que la mise en ?uvre de l'affichage du profil utilisateur, de l'édition et de la suppression des opérations dans différentes méthodes d'utilisation UserController. La création d'un contr?leur peut être implémentée via la commande artisan phartisanmake: ControllerSerController, tandis que le contr?leur de ressource est généré à l'aide de l'option --Resource, couvrant les méthodes pour les opérations de crud standard. Ensuite, vous devez lier le contr?leur dans l'itinéraire, comme Route :: get ('/ user / {id

Laravel permet des vues d'authentification personnalisées et de la logique en rempla?ant le stub et le contr?leur par défaut. 1. Pour personnaliser la vue d'authentification, utilisez la commande phPartisanVendor: publish-tag = laravel-auth pour copier le modèle de lame par défaut dans le répertoire Ressources / vues / auth et modifier, tels que l'ajout de la case "Termes d'utilisation". 2. Pour modifier la logique d'authentification, vous devez ajuster les méthodes de registreController, LoginController et ResetPasswordContrller, telles que la mise à jour de la méthode Validator () pour vérifier le champ ajouté, ou réécrire R
