Laravel Sanctum: 최신 애플리케이션의 API 인증에 대한 간소화된 접근 방식입니다. API는 플랫폼 간 통신에 매우 중요하며 Sanctum은 이를 보호하고 강력하고 확장 가능한 애플리케이션을 육성하기 위한 경량 솔루션을 제공합니다. 이 가이드에서는 SPA 및 토큰 기반 인증을 포함하여 Sanctum의 설정, 기능 및 사용 사례를 살펴봅니다.
Laravel Sanctum은 두 가지 주요 기능을 제공하여 API 인증을 단순화합니다.
더 복잡한 솔루션과 달리 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
이 생성됩니다.
생텀은 personal_access_tokens
테이블을 활용합니다. 다음 테이블을 만드세요:
<code class="language-bash">php artisan migrate</code>
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을 실험해 보고 그 기능을 충분히 감상해 보세요.
위 내용은 Laravel Sanctum을 사용한 Day Building API의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!