JWT 토큰 기반 인증을 제공하는 Spring Boot API 서버입니다.
- JWT Access Token 및 Refresh Token 발급
- 토큰 기반 API 인증
- 토큰 유효성 검증 및 갱신
POST /auth/token?clientId={clientId}
응답:
{
"access_token": "eyJhbGciOiJIUzI1NiJ9...",
"refresh_token": "eyJhbGciOiJIUzI1NiJ9...",
"token_type": "Bearer",
"access_token_expires_in": 3600,
"refresh_token_expires_in": 2592000
}
POST /auth/refresh?refreshToken={refreshToken}
GET /auth/verify?token={token}
GET /auth/token-info?token={token}
GET /api/data
Authorization: Bearer {access_token}
POST /api/process
Authorization: Bearer {access_token}
Content-Type: application/json
{
"data": "example data"
}
./gradlew bootRun
curl -X POST "http://localhost:8080/auth/token?clientId=testuser"
curl -H "Authorization: Bearer {access_token}" \
http://localhost:8080/api/data
- JWT Secret:
application.yaml
의jwt.secret
에서 설정 - Access Token 만료시간: 1시간 (3600000ms)
- Refresh Token 만료시간: 30일 (2592000000ms)
- CSRF 비활성화
- Stateless 세션 관리
- JWT 기반 인증
/auth/**
경로는 인증 없이 접근 가능- 나머지 API는 JWT 토큰 필요