feat: API 토큰 관리 시스템 구현 (액세스/리프레시 토큰 분리)

- AuthService: 토큰 발급/갱신 통합 관리
- RefreshController: POST /api/v1/refresh 엔드포인트 추가
- 액세스 토큰 2시간, 리프레시 토큰 7일 (.env 설정)
- TOKEN_EXPIRED 에러 코드로 프론트엔드 자동 리프레시 지원
- 리프레시 토큰 일회성 사용 (보안 강화)
- Swagger 문서 Auth 태그로 통합
This commit is contained in:
2025-11-10 11:17:32 +09:00
parent 657623fef5
commit 798d5149ea
13 changed files with 639 additions and 12 deletions

View File

@@ -44,9 +44,15 @@
| considered expired. This will override any values set in the token's
| "expires_at" attribute, but first-party sessions are not affected.
|
| Access Token: SANCTUM_ACCESS_TOKEN_EXPIRATION (default: null, unlimited)
| Refresh Token: SANCTUM_REFRESH_TOKEN_EXPIRATION (default: null, unlimited)
|
*/
'expiration' => null,
'expiration' => null, // Global default, can be overridden per token
'access_token_expiration' => env('SANCTUM_ACCESS_TOKEN_EXPIRATION'),
'refresh_token_expiration' => env('SANCTUM_REFRESH_TOKEN_EXPIRATION'),
/*
|--------------------------------------------------------------------------