자체 로그인·회원가입 기능 제거 (Google OAuth 단일화) - #303
Open
ckdals4600 wants to merge 1 commit into
Open
Conversation
📊 코드 커버리지 리포트
|
- signup/login 엔드포인트·SignupReq/LoginReq·서비스 로직(Base64 인코딩) 제거 - Member.password 필드 제거, OAuth 가입의 이메일 평문 더미 저장 제거 - PERMIT_URLS 임시 공개 경로 정리, CustomMemberDetail 은 빈 비밀번호 반환 - (부속) 테스트 픽스처 .password(...) 제거 및 signup/login 테스트 삭제 — 기능 변경 아님
ckdals4600
force-pushed
the
feature/#302-remove-local-auth
branch
from
August 26, 2026 13:57
5ca5e53 to
3eb971e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
관련 이슈
PR 설명
초기 개발용 자체(이메일/비밀번호) 회원가입·로그인 코드를 전부 제거하고, 인증 진입점을 Google OAuth(
/oauth2/**) + JWT 재발급(/v1/auth/reissue)으로 단일화했음.Member.password필드까지 걷어내 OAuth 가입의 이메일 평문 더미 저장을 근절했음.배경
MemberService.signup/login). PasswordEncoder 빈은 프로젝트에 존재하지 않았음.MemberCommandService.createOrUpdate)은Member.password(NOT NULL)를 채우기 위해 이메일 평문을 더미 비밀번호로 저장하고 있었음(.password(email)).SecurityConstants.PERMIT_URLS의/* temp */블록에 공개 URL 로 남아 있어, 사용하지 않기로 한 인증 경로에서 역산 가능한 약한 크리덴셜로 계정이 생성·탈취될 수 있다고 판단했음.변경 사항
1. 자체 로그인 엔드포인트·서비스 제거
MemberController·MemberApi에서POST /v1/member/signup·POST /v1/member/login제거,SignupReq·LoginReqDTO 삭제MemberService.signup/login(Base64 인코딩 로직 포함),MemberCommandService.addUser,MemberQueryService.existsMemberByEmail+MemberRepository.existsMemberByEmail제거2. Member.password 필드 제거와 배포 순서
Member에서 password 필드·생성자 파라미터·verifyPassword제거,createOrUpdate의.password(email)더미 주입 제거CustomMemberDetail.getPassword()는 빈 문자열 반환으로 변경함 — JWT 인증 경로(JwtTokenProvider→CustomMemberService)는 password 를 사용하지 않음3. 공개 URL·에러코드 정리
SecurityConstants.PERMIT_URLS/* temp */블록에서/v1/member/signup·/v1/member/login제거 — 같은 블록의/mock/**은 별개 용도라 유지함. 제거 후 두 경로는 permit 목록에서 빠져 비인증 요청에 401 로 응답함MemberErrorCode에서DUPLICATE_EMAIL(M-001)·INCORRECT_PASSWORD(M-003)제거4. 테스트 정리
MemberServiceTest4·MemberApiIntegrationTest4·MemberCommandServiceTest1) — 파일 전체가 비는 경우가 없어 테스트 파일 삭제는 없음createOrUpdate의 PENDING_TERMS 상태·USER 권한 저장 검증 1건 추가,CustomMemberDetailTest는 빈 문자열 반환 계약으로 단언·@DisplayName교체Member.builder().password(...)픽스처 라인 제거확인
ALTER TABLE member ALTER COLUMN password DROP NOT NULL;ALTER TABLE member ALTER COLUMN password DROP NOT NULL;)