-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
🛠️ 리팩토링기능 개선 및 최적화 작업(기능 변경 X)기능 개선 및 최적화 작업(기능 변경 X)
Description
🔨 리팩터링 내용 및 진행 이유
- Spring Security OAuth2 Client를 통한 캡슐화
- 현재 직접 구현한 OAuth 로직을 Spring Security OAuth2 Client로 마이그레이션
- 복잡한 코드 완화 및 보안 강화
- DB 구조를 통한 개선 (소셜 로그인 회원 관리)
- fake_ 학번 생성 방식 대신 socialType, socialId 필드 추가
- 소셜 로그인 회원은 studentId, password를 nullable로 변경
- 일반 회원과 소셜 회원을 명확하게 구분
- Origin 헤더 미전송 케이스 검토
- 브라우저가 Origin 헤더를 보내지 않을 경우 로컬 개발 환경에서 콜백 URL 결정 실패 가능성 체크
- 세션 ID 기반 state 검증 방식 검토
- JSESSIONID 쿠키가 전달되지 않으면 state 검증 실패 가능성 체크
- 배포 후 프론트/백엔드 도메인 구조에 따라 문제 발생 여부 확인
🕐 현재 상황
- Google OAuth 로그인/회원가입 기능 구현 완료
- CSRF 방어를 위해 세션 ID + state를 조합한 Redis 키 사용 중
- 회원 탈퇴 시 Google 연동 해제 로직 구현 완료 (accessToken 만료 시 refreshToken으로 재발급)
- 소셜 로그인 회원은 fake_ prefix 학번과 랜덤 비밀번호로 임시 저장 중
🕚 수정 후 예상 결과
- Spring Security 적용으로 OAuth 관련 코드 간소화 및 유지보수성 향상
- DB 구조 개선으로 소셜/일반 회원 명확히 구분, fake_ 학번 제거
- 다양한 브라우저 환경에서도 안정적인 OAuth 플로우 보장
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
🛠️ 리팩토링기능 개선 및 최적화 작업(기능 변경 X)기능 개선 및 최적화 작업(기능 변경 X)