Création d'API RESTful prêtes pour la production avec Laravel : authentification, limitation de débit et gestion des versions

DEV - 26/05
Création d'API RESTful prêtes pour la production avec Laravel : authentification, limitation de débit et...

Création d'API RESTful prêtes pour la production avec Laravel : authentification, limitation de débit et gestion des versions

La plupart des tutoriels sur l'API Laravel s'arrêtent àRoute::get('/utilisateurs', ...)et appelle ça un jour. Mais envoyer une API en production est une tout autre affaire. Vous avez besoin d'une authentification robuste, d'une protection contre les abus et d'une stratégie de gestion des versions qui ne brisera pas vos clients à chaque itération. Ce guide passe en revue les trois – avec du vrai code, sans agiter la main.

Authentification avec Laravel Sanctum

Pour la plupart des API, en particulier les SPA et les applications mobiles, Laravel Sanctum est le bon outil. Il est plus léger que Passport et couvre 90 % des cas d'utilisation réels.

composer requiert laravel/sanctum php artisan supplier:publish --provider="Laravel\Sanctum\SanctumServiceProvider" php artisan migrate
Entrer en mode plein écran Quitter le mode plein écran

Ajoutez leHasApiTokenstrait de caractère à votreUtilisateurmodèle:

utilisez Laravel\Sanctum\HasApiTokens ; class User extends Authenticatable { use HasApiTokens, HasFactory, Notifiable ; }
Entrer en mode plein écran Quitter le mode plein écran

Émission de jetons lors de la connexion

// app/Http/Controllers/Api/AuthController.php connexion de fonction publique (Request $request) : JsonResponse { $request->validate([ 'email' => 'required|email', 'password' => 'required', ]); $user = User::where('email', $request->email)->first(); if (! $user || ! Hash::check($request->password, $user->password)) { return réponse()->json(['message' => 'Identifiants invalides'...
[Courte citation de 8% de l'article original]
Loading...