Authentifizierung ist ein Eckpfeiler moderner Webanwendungen. In Laravel bietet Passport eine vollständige OAuth2-Serverimplementierung, die eine nahtlose API-Authentifizierung ermöglicht. Dieser Leitfaden führt Sie durch den gesamten Prozess der Einrichtung von Laravel Passport, von der Installation bis zum Sichern und Testen Ihrer API.
Laravel Passport vereinfacht die Komplexität der OAuth2-Authentifizierung, indem es eng in das Ökosystem von Laravel integriert wird. Mit Passport können Sie:
Bevor Sie eintauchen, stellen Sie sicher, dass Sie Folgendes haben:
Wenn Sie kein Projekt eingerichtet haben, erstellen Sie eines mit:
composer create-project --prefer-dist laravel/laravel passport-auth cd passport-auth
Führen Sie den folgenden Befehl aus, um Passport zu Ihrem Projekt hinzuzufügen:
composer require laravel/passport
Veröffentlichen Sie die Passport-Migrationen und Konfigurationsdateien:
php artisan vendor:publish --tag=passport-migrations php artisan migrate
Führen Sie den Installationsbefehl aus:
php artisan passport:install
Dadurch werden Verschlüsselungsschlüssel generiert und OAuth-Clients in Ihrer Datenbank erstellt. Notieren Sie sich die Ausgabe, insbesondere die Client-IDs und Geheimnisse.
Um explizit einen persönlichen Zugriffsclient zu erstellen, führen Sie Folgendes aus:
php artisan passport:client --personal
Fügen Sie die HasApiTokens-Eigenschaft zu Ihrem Benutzermodell hinzu:
use Laravel\Passport\HasApiTokens; class User extends Authenticatable { use HasApiTokens, Notifiable; // Other properties... }
Konfigurieren Sie Passport als Treiber für API-Guards in config/auth.php:
'guards' => [ 'api' => [ 'driver' => 'passport', 'provider' => 'users', ], ],
Laden Sie in AppProvidersAppServiceProvider die Routen von 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)); }
API-Routen in Routen/api.php definieren:
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']);
Authentifizierungsmethoden implementieren:
composer create-project --prefer-dist laravel/laravel passport-auth cd passport-auth
Gewährleisten Sie einen sicheren Zugriff auf Passschlüssel:
composer require laravel/passport
Berechtigungen überprüfen:
php artisan vendor:publish --tag=passport-migrations php artisan migrate
Erwartete Ausgabe:
php artisan passport:install
Verwenden Sie Postman oder einen beliebigen API-Client, um Endpunkte zu testen:
Herzlichen Glückwunsch! Sie haben die API-Authentifizierung mit Laravel Passport erfolgreich implementiert. Dieses Setup bietet eine solide Grundlage für die Sicherung Ihrer API. Entdecken Sie erweiterte Passport-Funktionen wie Bereiche, Token-Sperrung und Client-Anmeldeinformationen, um die Sicherheit Ihrer Anwendung weiter zu verbessern.
Das obige ist der detaillierte Inhalt vonLaravel-Authentifizierung mit Passport. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!