2026-02-14 13:00:24 +09:00
|
|
|
spring:
|
|
|
|
|
application:
|
|
|
|
|
name: gc-guide-api
|
|
|
|
|
|
|
|
|
|
# 프로필별 DB 설정
|
|
|
|
|
profiles:
|
|
|
|
|
active: ${SPRING_PROFILES_ACTIVE:local}
|
|
|
|
|
|
|
|
|
|
jpa:
|
|
|
|
|
open-in-view: false
|
feat(auth): JWT 기반 Google 로그인 인증 API 구현
- Entity: User, Role, RoleUrlPattern, UserStatus enum
- Repository: UserRepository, RoleRepository (fetch join 쿼리)
- Auth: GoogleTokenVerifier, JwtTokenProvider, JwtAuthenticationFilter
- API: POST /api/auth/google, GET /api/auth/me, POST /api/auth/logout
- DTO: AuthResponse, UserResponse, RoleResponse, GoogleLoginRequest
- SecurityConfig: JWT 필터 등록, CORS 설정, 공개 엔드포인트 정의
- 초기 데이터: roles + role_url_patterns 시드 (data.sql)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 17:28:51 +09:00
|
|
|
defer-datasource-initialization: true
|
2026-02-14 13:00:24 +09:00
|
|
|
properties:
|
|
|
|
|
hibernate:
|
|
|
|
|
format_sql: true
|
|
|
|
|
|
feat(auth): JWT 기반 Google 로그인 인증 API 구현
- Entity: User, Role, RoleUrlPattern, UserStatus enum
- Repository: UserRepository, RoleRepository (fetch join 쿼리)
- Auth: GoogleTokenVerifier, JwtTokenProvider, JwtAuthenticationFilter
- API: POST /api/auth/google, GET /api/auth/me, POST /api/auth/logout
- DTO: AuthResponse, UserResponse, RoleResponse, GoogleLoginRequest
- SecurityConfig: JWT 필터 등록, CORS 설정, 공개 엔드포인트 정의
- 초기 데이터: roles + role_url_patterns 시드 (data.sql)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 17:28:51 +09:00
|
|
|
jackson:
|
|
|
|
|
serialization:
|
|
|
|
|
write-dates-as-timestamps: false
|
|
|
|
|
|
2026-02-14 13:00:24 +09:00
|
|
|
server:
|
|
|
|
|
port: ${SERVER_PORT:8080}
|
|
|
|
|
|
|
|
|
|
# 앱 설정
|
|
|
|
|
app:
|
|
|
|
|
jwt:
|
|
|
|
|
secret: ${JWT_SECRET:gc-guide-dev-jwt-secret-key-must-be-at-least-256-bits-long}
|
|
|
|
|
expiration-ms: ${JWT_EXPIRATION:86400000} # 24시간
|
|
|
|
|
google:
|
|
|
|
|
client-id: ${GOOGLE_CLIENT_ID:}
|
|
|
|
|
allowed-email-domain: gcsc.co.kr
|
feat(auth): JWT 기반 Google 로그인 인증 API 구현
- Entity: User, Role, RoleUrlPattern, UserStatus enum
- Repository: UserRepository, RoleRepository (fetch join 쿼리)
- Auth: GoogleTokenVerifier, JwtTokenProvider, JwtAuthenticationFilter
- API: POST /api/auth/google, GET /api/auth/me, POST /api/auth/logout
- DTO: AuthResponse, UserResponse, RoleResponse, GoogleLoginRequest
- SecurityConfig: JWT 필터 등록, CORS 설정, 공개 엔드포인트 정의
- 초기 데이터: roles + role_url_patterns 시드 (data.sql)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 17:28:51 +09:00
|
|
|
cors:
|
|
|
|
|
allowed-origins: ${CORS_ORIGINS:http://localhost:5173,https://guide.gc-si.dev}
|
2026-02-14 13:00:24 +09:00
|
|
|
|
2026-02-14 21:30:48 +09:00
|
|
|
# SpringDoc / Swagger
|
|
|
|
|
springdoc:
|
|
|
|
|
api-docs:
|
|
|
|
|
path: /v3/api-docs
|
|
|
|
|
swagger-ui:
|
|
|
|
|
path: /swagger-ui.html
|
|
|
|
|
tags-sorter: alpha
|
|
|
|
|
operations-sorter: method
|
|
|
|
|
doc-expansion: none
|
|
|
|
|
display-request-duration: true
|
|
|
|
|
|
2026-02-14 13:00:24 +09:00
|
|
|
# Actuator
|
|
|
|
|
management:
|
|
|
|
|
endpoints:
|
|
|
|
|
web:
|
|
|
|
|
exposure:
|
|
|
|
|
include: health,info
|
|
|
|
|
endpoint:
|
|
|
|
|
health:
|
|
|
|
|
show-details: when-authorized
|