Laravel Sanctum による PHP セキュリティ検証
概要:
現代の Web 開発では、セキュリティ検証は重要な側面です。 Laravel Sanctum は、Laravel が提供するシンプルで柔軟な認証ガードで、フロントエンドとバックエンドの分離アプリケーションに使用できます。この記事では、Laravel Sanctum を使用して PHP セキュリティ検証を実装する方法を紹介し、関連するコード例を示します。
ステップ 1: Laravel Sanctum をインストールする
まず、Laravel プロジェクトに Sanctum 拡張機能パッケージをインストールします。 Composer を使用して、次のコマンドをインストールして実行できます。
composer require laravel/sanctum
ステップ 2: Sanctum を構成する
インストールが完了したら、Sanctum を構成する必要があります。プロジェクトのルート ディレクトリにある config/app.php
ファイルを開き、providers
配列を見つけて、次のコードを追加します。
'providers' => [ // ... LaravelSanctumSanctumServiceProvider::class, ],
次に、次のコマンドを実行します。 Sanctum の構成ファイルとデータベース移行ファイルを公開するには:
php artisan vendor:publish --provider="LaravelSanctumSanctumServiceProvider"
次に、次のコマンドを実行してデータベース移行を実行します:
php artisan migrate
ステップ 3: 認証ドライバーを構成する
セットアップ プロセスでは、Sanctum をデフォルトの認証ドライバーとして選択する必要があります。 config/auth.php
ファイルを開き、guards
配列を見つけて、デフォルトのガードを sanctum
:
'defaults' => [ 'guard' => 'sanctum', // ... ],
に設定します。 ステップ 4: Sanctum ミドルウェアを有効にする
Sanctum には、認証を処理するための独自のミドルウェアが必要です。 Sanctum を有効にするには、Authenticate
ミドルウェアを Sanctum が提供するミドルウェアに置き換える必要があります。 app/Http/Kernel.php
ファイルを開き、次のコードを $routeMiddleware
配列に追加します:
protected $routeMiddleware = [ // ... 'auth' => LaravelSanctumHttpMiddlewareEnsureFrontendRequestsAreStateful::class, ];
ステップ 5: Sanctum API トークンを生成する
Sanctum は認証用の API トークンを提供します。 API トークンは、次のコードで生成できます。
use LaravelSanctumHasApiTokens; class User extends Authenticatable { use HasApiTokens; }
このコードは、User
モデルの HasApiTokens
特性を使用して、ユーザーの API トークンを生成します。
ステップ 6: ルートを保護する
Sanctum を使用してセキュリティ検証を行った後、次のコードを使用して、認証が必要なルートを保護できます。
Route::middleware('auth:sanctum')->group(function () { // 这里是需要保护的路由 });
上記のコードは、 Sanctum 中間ソフトウェアを適用してユーザーの API トークンを検証します。
ステップ 7: 認証
ユーザーがフロントエンド アプリケーションを通じてリクエストを送信すると、次のコードを使用して認証できます:
use IlluminateHttpRequest; Route::post('/login', function (Request $request) { $credentials = $request->only('email', 'password'); if (Auth::attempt($credentials)) { $user = Auth::user(); $token = $user->createToken('api')->plainTextToken; return response()->json([ 'user' => $user, 'token' => $token, ]); } else { return response()->json(['error' => 'Unauthorized'], 401); } });
上記のコードは次のようになります。ユーザーが提供する電子メールとパスワードを認証して、ユーザー情報と API トークンを含む JSON 応答を返します。
概要:
Laravel Sanctum を使用すると、PHP アプリケーションのセキュリティ検証を簡単に実装できます。この記事では、Laravel Sanctum をインストールして構成する方法を説明し、関連するコード例を示します。この記事が初心者にとって役立ち、より多くの人がLaravel Sanctumを学び、使用するきっかけになれば幸いです。
参考リンク:
以上がLaravel Sanctum を使用した PHP セキュリティ検証の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。