Files
dognation_BT/src/main/resources/application.yml
T
ByungCheol 19b26ebe37 feat: 소셜 로그인(구글/애플)·세션·관리자 회원관리 백엔드
- users: 소셜 전용 전환(password_hash 제거) + role/provider/google_id/apple_id/profile_image (V2 마이그레이션)
- auth_session 테이블: Redis 없이 DB 세션(슬라이딩 만료), Bearer 토큰
- 소셜 로그인: 구글 tokeninfo(aud) · 애플 JWKS(iss/aud/exp) 검증 → 이메일 계정연결/신규가입
- AuthInterceptor(세션)+AdminInterceptor(role=ADMIN) 2단 보호, 관리자 페이지는 웹 전용
- /api/admin/members: 목록·상태·티어·역할·삭제 (본인 잠금방지, 정지/삭제/역할변경 시 세션 무효화)
- 예외는 기존 ApiExceptionHandler로 통합(ApiException 매핑 추가)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-11 08:10:42 +09:00

43 lines
1.2 KiB
YAML

spring:
application:
name: dognation
datasource:
# DB 접속정보는 .env.dev / .env.prod 에서 주입 (POSTGRES_DB, SPRING_DATASOURCE_*)
url: jdbc:postgresql://${DB_HOST:localhost}:${DB_PORT:5432}/${POSTGRES_DB:dogdb_dev}
username: ${SPRING_DATASOURCE_USERNAME:dognation}
password: ${SPRING_DATASOURCE_PASSWORD:}
driver-class-name: org.postgresql.Driver
jpa:
hibernate:
ddl-auto: validate # 스키마는 Flyway가 관리, JPA는 검증만
properties:
hibernate:
format_sql: true
dialect: org.hibernate.dialect.PostgreSQLDialect
open-in-view: false
flyway:
enabled: true
baseline-on-migrate: true
locations: classpath:db/migration
# 스케줄러/시간 기준: 한국 시간(KST) 자정
app:
scheduler:
timezone: Asia/Seoul
matching:
daily-free-limit: 3
# 소셜 로그인 — 값은 .env 에서 주입. 미설정 시 해당 로그인 비활성.
auth:
google-client-id: ${GOOGLE_CLIENT_ID:} # 구글 OAuth 웹 클라이언트 ID (ID 토큰 aud 검증)
apple-client-id: ${APPLE_CLIENT_ID:} # Sign in with Apple aud(앱 번들 ID)
server:
port: 8080
logging:
level:
org.hibernate.SQL: debug