Skip to content

♻️ [Refactor] Auth 도메인 디테일/일관성 보완 (주석·데드코드·트랜잭션·잠금 플래그) #142

Description

@komascode

📝 개요

Auth 도메인 코드 검토 중 발견된 버그가 아닌 정합성/일관성/데드코드 4건을 정리한다.
(보안 설계 변경인 기기 바인딩은 별도 ✨ [Feat] 이슈로 분리)

대상 파일:

  • AuthService.java
  • AuthResDTO.java

✔️ To-Do

  • 주석 정정: SmsSendResponse.expiredAt 주석 발송 시간 + 3분+ 5분 (실제 값 SMS_EXPIRATION_MINUTES = 5와 불일치)
  • 데드코드 제거: generateSmsToken 메서드 삭제 (호출처 0건, SMS 인증 없이 verificationToken을 발급해 노출 시 인증 우회 소지)
  • 트랜잭션 애노테이션 통일: resetPassword@jakarta.transaction.Transactional → 스프링 @Transactional (나머지 메서드와 일관성)
  • 잠금 플래그 정리 resetPassword에서 실패 카운트 초기화와 함께 sms_required:{phone} Redis 플래그도 삭제 (SMS 인증을 이미 통과했으므로 RT 만료 잠금까지 일관되게 해제)

👀 ETC

  • 보류: "정상 로그인에 stale verificationToken이 섞이면 튕기는 엣지 케이스" → 프론트 토큰 재사용 흐름 확인 후 결정
  • 별도 이슈: 기기 바인딩(신뢰 기기, 새 기기 로그인 시 SMS 강제)
  • 8번은 Redis·SMS 통합 환경에서 수동 검증 필요: RT 만료 플래그 생성 → 비번 재설정 → 이후 SMS 없이 로그인 성공 확인

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions