L'authentification est la pierre angulaire des applications Web modernes. Dans Laravel, Passport fournit une implémentation complète du serveur OAuth2, permettant l'authentification API de manière transparente. Ce guide vous guide tout au long du processus de configuration de Laravel Passport, de l'installation à la sécurisation et au test de votre API.
Laravel Passport simplifie les complexités de l'authentification OAuth2 en l'intégrant étroitement à l'écosystème de Laravel. Avec Passeport, vous pouvez :
Avant de plonger, assurez-vous d'avoir :
Si vous n'avez pas de projet configuré, créez-en un avec :
composer create-project --prefer-dist laravel/laravel passport-auth cd passport-auth
Exécutez la commande suivante pour ajouter Passport à votre projet :
composer require laravel/passport
Publiez les migrations et les fichiers de configuration Passport :
php artisan vendor:publish --tag=passport-migrations php artisan migrate
Exécutez la commande d'installation :
php artisan passport:install
Cela génère des clés de chiffrement et crée des clients OAuth dans votre base de données. Prenez note du résultat, en particulier des identifiants clients et des secrets.
Pour créer explicitement un client d'accès personnel, exécutez :
php artisan passport:client --personal
Ajoutez le trait HasApiTokens à votre modèle utilisateur :
use Laravel\Passport\HasApiTokens; class User extends Authenticatable { use HasApiTokens, Notifiable; // Other properties... }
Configurez Passport comme pilote pour les gardes API dans config/auth.php :
'guards' => [ 'api' => [ 'driver' => 'passport', 'provider' => 'users', ], ],
Dans AppProvidersAppServiceProvider, chargez les itinéraires de Passport :
use Laravel\Passport\Passport; public function boot(): void { Passport::routes(); Passport::tokensExpireIn(now()->addDays(15)); Passport::refreshTokensExpireIn(now()->addDays(30)); Passport::personalAccessTokensExpireIn(now()->addMonths(6)); }
Définir les routes API dans routes/api.php :
use App\Http\Controllers\AuthController; Route::post('/register', [AuthController::class, 'register']); Route::post('/login', [AuthController::class, 'login']); Route::middleware('auth:api')->get('/user', [AuthController::class, 'user']);
Mettre en œuvre des méthodes d'authentification :
composer create-project --prefer-dist laravel/laravel passport-auth cd passport-auth
Assurer un accès sécurisé aux clés du passeport :
composer require laravel/passport
Vérifier les autorisations :
php artisan vendor:publish --tag=passport-migrations php artisan migrate
Résultat attendu :
php artisan passport:install
Utilisez Postman ou n'importe quel client API pour tester les points de terminaison :
Félicitations ! Vous avez implémenté avec succès l'authentification API à l'aide de Laravel Passport. Cette configuration fournit une base solide pour sécuriser votre API. Explorez les fonctionnalités avancées de Passport telles que les étendues, la révocation des jetons et les informations d'identification du client pour améliorer encore la sécurité de votre application.
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!