-
Notifications
You must be signed in to change notification settings - Fork 0
CODIN 인증 시스템 리팩토링 #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: chore/split
Are you sure you want to change the base?
Conversation
Fix/oauth2 redirect url
…는 로직 추가" This reverts commit 2130cd1.
…는 로직 추가" This reverts commit 90edfd3.
…는 로직 추가" This reverts commit 46e4343.
…는 로직 추가" This reverts commit 2130cd1.
…direct 되는 로직 추가"" This reverts commit 5d534be.
…direct 되는 로직 추가"" This reverts commit 897b85e.
…direct 되는 로직 추가"" This reverts commit 914b240.
…direct 되는 로직 추가"" This reverts commit 85e347e.
oAuth2 로그인 성공 후 리다이렉트 Param 추가 및 NPE 에러 해결
기존 쿠키에 access_token, refresh_token은 유지 (추후 제거) - 헤더: Authorization: Bearer (accessToken) - 쿠키: x-refresh-token: (refreshToken)
BlockController를 제외한 Block Domain 리팩토링 - User Domain에 UserValidator 추가#214
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
#211 에서 적용한 GlobalException, GlobalErrorCode 형태로 코드를 리팩토링 했습니다.
(cherry picked from commit cfd17d3733fe9c9eee331dbb93fee777fea29b09)
Feat/name change
Feat/name change
feat : name 1글자 대상 단체알림 발송
chore: OAuth2 로그인 attribute 값 확인용 로그 추가
…d-name feat: add name field to UserTicketingParticipationInfoUpdateRequest
feat: add name field to UserTicketingParticipationInfoUpdateRequest
기존: Authorization Server + Resource Server 역할을 모두 담당하는 단일 설정 변경: Resource Server 전용 설정으로 분리 (codin-security 모듈) OAuth2 로그인 및 토큰 발급은 별도의 codin-auth 모듈로 분리 예정
- response, exception common part 분리
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the ✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
마이크로서비스 아키텍처 구현의 첫 단계로 Security와 Common 모듈 분리를 완료했습니다. 기존의 단일 모듈 구조에서 codin-security와 codin-common 모듈을 분리하여 코드 재사용성과 확장성을 개선했습니다.
분리 완료 현황
완료된 분리 작업
향후 분리 예정
아키텍처 변경사항
이전 구조 (Before)
codin-core (모놀리틱)
├── 공통 응답 클래스 (CommonResponse, SingleResponse, ListResponse)
├── 공통 예외 클래스 (GlobalException, NotFoundException)
├── 보안 설정 (JWT 검증 + OAuth2 로그인)
├── 보안 필터 (JwtAuthenticationFilter)
├── Rate Limiting
├── Base Entity (BaseTimeEntity)
└── 비즈니스 로직
codin-ticketing-api (중복 코드)
├── 응답 클래스 중복 정의
├── 예외 클래스 중복 정의
└── 보안 설정 중복 구현
codin-ticketing-sse (중복 코드)
├── 응답 클래스 중복 정의
└── 보안 설정 중복 구현
codin-common (공통 모듈)
├── 공통 응답 클래스
│ ├── CommonResponse
│ ├── SingleResponse
│ ├── ListResponse
│ └── ExceptionResponse
├── 공통 예외 클래스
│ ├── GlobalException
│ ├── NotFoundException
│ └── GlobalErrorCode
├── Rate Limiting
│ ├── RateLimitInterceptor
│ ├── RateLimitService
│ └── RateLimitBucketConstants
└── 기본 엔티티
├── BaseTimeEntity
└── Department
현재 구조 (After) - ✅ 분리 완료
codin-security (보안 모듈)
├── JWT 검증 (Resource Server 전용)
│ ├── JwtService (검증 전용)
│ ├── JwtTokenValidator
│ └── TokenUserDetails
├── Resource Server 설정
│ └── ResourceServerSecurityConfig
├── 보안 필터
│ ├── JwtAuthenticationFilter
│ └── ExceptionHandlerFilter
├── 보안 유틸리티
│ ├── SecurityUtils
│ └── TokenUtil
└── Spring Boot AutoConfiguration
└── CodinSecurityAutoConfiguration
codin-core (메인 애플리케이션)
├── depends on: codin-common, codin-security
├── 순수 비즈니스 로직
├── 도메인 모델
└── API 컨트롤러
codin-ticketing-api (티켓팅 API)
├── depends on: codin-common, codin-security
└── 티켓팅 비즈니스 로직
codin-ticketing-sse (실시간 이벤트)
├── depends on: codin-common, codin-security
└── SSE 이벤트 처리
기술적 구현 세부사항
1. 모듈간 의존성 계층구조
codin-common (Level 0)
↑ 의존
codin-security (Level 1)
↑ 의존
Application Modules (Level 2)
├── codin-core
├── codin-ticketing-api
└── codin-ticketing-sse
검증 완료 사항
빌드 독립성 확인
AutoConfiguration 동작 확인
기능 무결성 검증
다음 단계: codin-auth 분리 계획
분리 예정 기능들
// codin-auth로 이동 예정인 기능들 (현재 codin-core에 남아있음)
🔍 코드 리뷰 체크포인트
codin-common의 공통 기능 범위가 적절한가?codin-security가 Resource Server 역할에만 집중하는가?이번 Security & Common 모듈 분리를 통해 CODIN 백엔드는 확장 가능하고 유지보수가 용이한 마이크로서비스 아키텍처의 기반을 마련했습니다.