認証は最新の Web アプリケーションの基礎です。 Laravel では、Passport が完全な OAuth2 サーバー実装を提供し、API 認証をシームレスに有効にします。このガイドでは、インストールから API の保護とテストまで、Laravel Passport をセットアップするプロセス全体を説明します。
Laravel Passport は、OAuth2 認証を Laravel のエコシステムと緊密に統合することで、複雑な OAuth2 認証を簡素化します。パスポートを使用すると、次のことができます:
実際に始める前に、次のことを確認してください。
プロジェクトが設定されていない場合は、次のコマンドを使用してプロジェクトを作成します。
composer create-project --prefer-dist laravel/laravel passport-auth cd passport-auth
次のコマンドを実行して、Passport をプロジェクトに追加します:
composer require laravel/passport
パスポートの移行と構成ファイルを公開します:
php artisan vendor:publish --tag=passport-migrations php artisan migrate
インストール コマンドを実行します:
php artisan passport:install
これにより、暗号化キーが生成され、データベース内に OAuth クライアントが作成されます。出力、特にクライアント ID とシークレットをメモします。
個人用アクセス クライアントを明示的に作成するには、次のコマンドを実行します。
php artisan passport:client --personal
HasApiTokens トレイトをユーザー モデルに追加します。
use Laravel\Passport\HasApiTokens; class User extends Authenticatable { use HasApiTokens, Notifiable; // Other properties... }
config/auth.php で API ガードのドライバーとして Passport を構成します:
'guards' => [ 'api' => [ 'driver' => 'passport', 'provider' => 'users', ], ],
AppProvidersAppServiceProvider で、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)); }
routes/api.php で API ルートを定義します:
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']);
認証方法の実装:
composer create-project --prefer-dist laravel/laravel passport-auth cd passport-auth
パスポート キーへの安全なアクセスを確保します:
composer require laravel/passport
権限を確認します:
php artisan vendor:publish --tag=passport-migrations php artisan migrate
期待される出力:
php artisan passport:install
Postman または任意の API クライアントを使用してエンドポイントをテストします:
おめでとうございます! Laravel Passport を使用して API 認証を実装することができました。この設定は、API を保護するための堅牢な基盤を提供します。スコープ、トークン取り消し、クライアント認証情報などの高度な Passport 機能を探索して、アプリケーションのセキュリティをさらに強化します。
以上がパスポートを使用したLaravel認証の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。