PG 가맹점과 PG 관리자의 인증을 담당하는 Spring Boot 서비스입니다.
주요 기능은 카카오 기반 가맹점 로그인/가입, 약관 동의, JWT 발급 및 갱신, 관리자 로그인과 TOTP 검증, Refresh Token 관리, 관리자 감사 로그 기록입니다.
- Java 21
- Spring Boot 3.5
- Spring Security
- Spring Data JPA / MySQL
- Spring Data Redis
- OpenFeign
- JWT (
jjwt) - Gradle
- 카카오 인가 코드를 이용해 로그인 API를 호출합니다.
- 신규 또는 가입 미완료 계정은
SIGNUP타입 JWT를 발급받습니다. - Signup Token으로 필수 약관에 동의합니다.
- 가맹점 상세 정보를 입력해 회원가입을 완료합니다.
- 계정은
PENDING상태가 되며 관리자 승인 후ACTIVE로 변경됩니다. ACTIVE가맹점은 다시 로그인하여 Access/Refresh Token을 발급받습니다.
DRAFT -> PENDING -> ACTIVE
-> REJECTED
ACTIVE -> SUSPENDED
ACTIVE -> WITHDRAWN
DRAFT: 가입 진행 중PENDING: 관리자 심사 대기ACTIVE: 로그인 및 서비스 이용 가능REJECTED: 심사 거절SUSPENDED: 이용 정지WITHDRAWN: 탈퇴
로컬 Docker Compose에서는 관리자 테이블이 비어 있을 때 개발용 계정을 자동 생성합니다.
관리자 ID: admin
비밀번호: admin1234!
OTP: 입력하지 않음
PG_ADMIN_BOOTSTRAP_ENABLED의 기본값은 false, PG_ADMIN_TOTP_ENABLED의 기본값은
true이므로 이 설정은 Docker 로컬 개발환경에서만 명시적으로 활성화됩니다.
운영 환경에서는 자동 생성 계정을 사용하지 않고 TOTP 검증을 활성화해야 합니다.