ホームページ >バックエンド開発 >PHPチュートリアル >Laravel Sanctum を使用して API を構築する日
Laravel Sanctum: 最新のアプリケーションにおける API 認証への合理化されたアプローチ。 API はプラットフォーム間の通信に不可欠であり、Sanctum は API を保護し、堅牢でスケーラブルなアプリケーションを促進するための軽量ソリューションを提供します。このガイドでは、SPA やトークンベースの認証を含む、Sanctum のセットアップ、機能、ユースケースについて説明します。
Laravel Sanctum は API 認証を簡素化し、2 つの主要な機能を提供します。
より複雑なソリューションとは異なり、Sanctum の軽量な性質と簡単な構成により、OAuth 要件のないアプリケーションに最適です。
Composer を使用して Sanctum をインストールします:
<code class="language-bash">composer require laravel/sanctum</code>
Sanctum 設定ファイルを公開します:
<code class="language-bash">php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"</code>
これにより config/sanctum.php
が生成され、Sanctum の設定をカスタマイズできるようになります。
Sanctum は personal_access_tokens
テーブルを使用します。このテーブルを作成します:
<code class="language-bash">php artisan migrate</code>
Sanctum のミドルウェアを api
内の app/Http/Kernel.php
ミドルウェア グループに統合します:
<code class="language-php">'api' => [ \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class, 'throttle:api', \Illuminate\Routing\Middleware\SubstituteBindings::class, ],</code>
routes/api.php
ミドルウェアを使用して auth:sanctum
でルートを保護します:
<code class="language-php">use Illuminate\Support\Facades\Route; Route::middleware('auth:sanctum')->get('/user', function (Request $request) { return $request->user(); });</code>
createToken
メソッドを使用して個人用アクセス トークンを生成します:
<code class="language-php">use App\Models\User; use Illuminate\Http\Request; Route::post('/login', function (Request $request) { $user = User::where('email', $request->email)->first(); if (! $user || ! Hash::check($request->password, $user->password)) { return response()->json(['message' => 'Invalid credentials'], 401); } return $user->createToken('auth_token')->plainTextToken; });</code>
ログアウト用のユーザーのトークンを取り消します:
<code class="language-php">Route::post('/logout', function (Request $request) { $request->user()->tokens()->delete(); return response()->json(['message' => 'Logged out successfully']); });</code>
Sanctum は SPA にセッションベースの認証を活用します。
EnsureFrontendRequestsAreStateful
ミドルウェアが api
ミドルウェア グループ内で正しく構成されていることを確認してください。
SPA から認証された AJAX リクエストを含む CSRF トークンを送信します:
<code class="language-bash">composer require laravel/sanctum</code>
Laravel Sanctum は、最新のアプリケーションの API を保護するためのユーザーフレンドリーで効率的な方法を提供します。 その軽量設計と柔軟な API により、開発者の認証が簡素化され、SPA とトークンベースの API アクセスの両方にとって貴重なツールになります。 Sanctum の機能を十分に理解するために、プロジェクトで Sanctum を試してみてください。
以上がLaravel Sanctum を使用して API を構築する日の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。