feat: API 토큰 관리 시스템 구현 (액세스/리프레시 토큰 분리)
- AuthService: 토큰 발급/갱신 통합 관리 - RefreshController: POST /api/v1/refresh 엔드포인트 추가 - 액세스 토큰 2시간, 리프레시 토큰 7일 (.env 설정) - TOKEN_EXPIRED 에러 코드로 프론트엔드 자동 리프레시 지원 - 리프레시 토큰 일회성 사용 (보안 강화) - Swagger 문서 Auth 태그로 통합
This commit is contained in:
37
app/Http/Requests/Api/V1/RefreshRequest.php
Normal file
37
app/Http/Requests/Api/V1/RefreshRequest.php
Normal file
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests\Api\V1;
|
||||
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
class RefreshRequest extends FormRequest
|
||||
{
|
||||
/**
|
||||
* 요청 권한 확인
|
||||
*/
|
||||
public function authorize(): bool
|
||||
{
|
||||
return true; // API 키 인증은 미들웨어에서 처리
|
||||
}
|
||||
|
||||
/**
|
||||
* 유효성 검사 규칙
|
||||
*/
|
||||
public function rules(): array
|
||||
{
|
||||
return [
|
||||
'refresh_token' => 'required|string',
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* 에러 메시지 커스터마이징
|
||||
*/
|
||||
public function messages(): array
|
||||
{
|
||||
return [
|
||||
'refresh_token.required' => __('error.refresh_token_required'),
|
||||
'refresh_token.string' => __('error.refresh_token_invalid'),
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user