[laravel] sanctum (API 인증) 구축
2022. 1. 4. 17:22ㆍLaravel
sanctum을 이용하면 API 토큰 발급과 SPA(Single Page Application) 인증시 사용할 수 있다.
API 인증
- Sanctum은 OAuth의 복잡함 없이 사용자에게 API 토큰을 발행하는 단순한 패키지이다.
- Sanctum을 사용하여 해당 토큰을 생성하고 관리 할 수 있습니다. 이러한 토큰들은 매우 긴 만료일(몇 년)을 가지고 있지만, 어느 때라도 사용자에 의해서 해지(revoke) 할 수도 있다.
- Sanctum은 단일 데이터베이스 테이블 내에 사용자 API 토큰을 저장하고, 유효한 API 토큰을 포함해야하는 Authorization 헤더를 통해 오는 요청(request)만 인증에 성공하게 된다.
설치
1. Composer
composer require laravel/sanctum
2. vendor:publish
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
3. migration (token을 위한 personal_access_tokens table이 생성된다.)
php artisan migrate
4. 만료 시간 설정
config\sanctum.php
<?php
return [
.
.
// null 일때는 만료 시간이 없으므로 영구하게 사용할 수 있다.
// 만료 기간을 지정하려면 null 대신 값을 입력하면 된다.
'expiration' => null,
.
.
];
다음으로 Sanctum을 사용하여 SPA를 인증하려는 경우 Sanctum의 미들웨어를 api애플리케이션 app/Http/Kernel.php파일 내의 미들웨어 그룹에 추가
'api' => [
\Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
'throttle:api',
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
'Laravel' 카테고리의 다른 글
[Laravel] log 파일 주기적으로 삭제하기 (0) | 2022.11.15 |
---|---|
[Laravel] Syntax error or access violation: 1055 에러 (0) | 2022.02.07 |
[laravel] 데이터베이스 시딩 (0) | 2022.01.17 |
[laravel] application Key 생성 (0) | 2022.01.04 |
[Laravel] 라라벨 설치하기 (0) | 2021.11.16 |