Laravel Sanctum을 사용한 PHP 보안 확인
개요:
현대 웹 개발에서 보안 확인은 중요한 측면입니다. Laravel Sanctum은 Laravel에서 제공하는 간단하고 유연한 인증 가드로, 프런트엔드 및 백엔드 분리 애플리케이션에 사용할 수 있습니다. 이 글에서는 Laravel Sanctum을 사용하여 PHP 보안 검증을 구현하는 방법을 소개하고 관련 코드 예제를 제공합니다.
1단계: Laravel Sanctum 설치
먼저 Laravel 프로젝트에 Sanctum 확장 패키지를 설치하세요. Composer를 사용하여 다음 명령을 설치하고 실행할 수 있습니다:
composer require laravel/sanctum
2단계: Sanctum 구성
설치가 완료되면 Sanctum을 구성해야 합니다. 프로젝트 루트 디렉터리에서 config/app.php
파일을 열고 providers
배열을 찾은 후 다음 코드를 추가합니다. config/app.php
文件,找到 providers
数组,并添加以下代码:
'providers' => [ // ... LaravelSanctumSanctumServiceProvider::class, ],
然后,运行以下命令来发布 Sanctum 的配置文件和数据库迁移文件:
php artisan vendor:publish --provider="LaravelSanctumSanctumServiceProvider"
接着,运行以下命令来执行数据库迁移:
php artisan migrate
步骤三:配置身份验证驱动程序
在设置过程中,需要选择使用 Sanctum 作为默认的身份验证驱动程序。打开 config/auth.php
文件,找到 guards
数组,并将默认的 guard 设置为 sanctum
:
'defaults' => [ 'guard' => 'sanctum', // ... ],
步骤四:启用 Sanctum 中间件
Sanctum 需要使用自己的中间件来处理身份验证。为了启用 Sanctum,需要将 Authenticate
中间件替换为 Sanctum 提供的中间件。打开 app/Http/Kernel.php
文件,将以下代码添加到 $routeMiddleware
数组中:
protected $routeMiddleware = [ // ... 'auth' => LaravelSanctumHttpMiddlewareEnsureFrontendRequestsAreStateful::class, ];
步骤五:生成 Sanctum API Token
Sanctum 提供了 API Token 来进行身份验证。API Token 可以通过以下代码来生成:
use LaravelSanctumHasApiTokens; class User extends Authenticatable { use HasApiTokens; }
该代码在 User
Model 中使用了 HasApiTokens
Route::middleware('auth:sanctum')->group(function () { // 这里是需要保护的路由 });
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); } });
rrreee
3단계: 인증 드라이버 구성설정 프로세스 중에 Sanctum을 다음으로 사용하도록 선택해야 합니다. 기본 인증 드라이버.config/auth.php
파일을 열고 guards
배열을 찾은 다음 기본 가드를 sanctum
으로 설정합니다. rrreee
4단계: 활성화 Sanctum 미들웨어 Sanctum은 인증을 처리하기 위해 자체 미들웨어를 사용해야 합니다. Sanctum을 활성화하려면Authenticate
미들웨어를 Sanctum에서 제공하는 미들웨어로 교체해야 합니다. app/Http/Kernel.php
파일을 열고 $routeMiddleware
배열에 다음 코드를 추가하세요. rrreee
5단계: Sanctum API 토큰 생성
Sanctum에서 API 제공 인증을 위한 토큰입니다. API 토큰은 다음 코드로 생성할 수 있습니다.
이 코드는 User
모델의 HasApiTokens
특성을 사용하여 사용자를 위한 API 토큰을 생성합니다.
위 내용은 Laravel Sanctum을 사용한 PHP 보안 검증의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!