JWT 인증 플로우
JWT 토큰 사양
Section titled “JWT 토큰 사양”| 항목 | 값 |
|---|---|
| 알고리즘 | HS256 (HMAC SHA-256) |
| Access Token 유효기간 | 14일 |
| Refresh Token 유효기간 | 21일 |
| 전달 방식 | Authorization: Bearer <token> |
Access Token Claims
Section titled “Access Token Claims”{ "sub": "userId", "auth": "ROLE_INFLUENCE", "userId": "user123", "username": "홍길동", "userImage": "프로필이미지URL", "onboardingCompleted": true}인증 시퀀스
Section titled “인증 시퀀스”클라이언트 요청이 JwtAuthFilter를 거쳐 인증되는 전체 흐름입니다.
토큰 갱신 플로우
Section titled “토큰 갱신 플로우”Access Token이 만료되면 Refresh Token으로 새 토큰 쌍을 발급받습니다.
인증 제외 경로 (permitAll)
Section titled “인증 제외 경로 (permitAll)”아래 경로는 JWT 인증 없이 접근할 수 있습니다.
| 경로 패턴 | 설명 |
|---|---|
/ai/auth/** | 로그인, 회원가입, 토큰 갱신 |
/business/login | 비즈니스 로그인 |
/ai/oauth/** | OAuth 소셜 로그인 |
/health | 헬스체크 |
역할별 접근 권한
Section titled “역할별 접근 권한”인증된 사용자는 역할에 따라 접근 가능한 경로가 제한됩니다.
| 경로 패턴 | 필요 권한 |
|---|---|
/admin/** | ROLE_ADMIN |
/ai/admin/** | ROLE_ADMIN |
/ai/payments/** | ROLE_BUSINESS |
/ai/influence/** | ROLE_USER (인플루언서) |
기업 계정 권한 체계
Section titled “기업 계정 권한 체계”비즈니스 계정은 승인 상태에 따라 다른 권한을 가집니다.
| auth 값 | Spring Role | 상태 | 접근 범위 |
|---|---|---|---|
| 2 | INVALID_ROLE_BUSINESS | 미인증 (가입 직후) | 기본 조회만 가능, 캠페인 생성 불가 |
| 3 | ROLE_BUSINESS | 인증 완료 | 캠페인 생성, 결제, 크리에이터 관리 등 전체 기능 |
| 5 | REJECT_ROLE_BUSINESS | 승인 거부 | 기본 조회만 가능 |