Skip to content

feat: 학교 이메일 인증 기능 확장 및 설정 추가#27

Merged
popeye0618 merged 2 commits into
mainfrom
feat/school-verification-policy
May 15, 2026
Merged

feat: 학교 이메일 인증 기능 확장 및 설정 추가#27
popeye0618 merged 2 commits into
mainfrom
feat/school-verification-policy

Conversation

@popeye0618

@popeye0618 popeye0618 commented May 15, 2026

Copy link
Copy Markdown
Contributor

📌 작업 개요

학교 이메일 인증 기능 확장 및 설정 추가

🔗 관련 이슈

  • Closes #

✨ 변경 사항

  • SchoolEmailVerificationProperties에 인증 코드 만료, 쿨다운, 시도 제한 설정 추가
  • FailureRecorder에 recordMismatch 메서드 추가 및 시도 제한 초과 시 만료 처리 로직 구현
  • 이메일 인증 요청 시 재요청 쿨다운 및 만료된 코드 처리 로직 추가
  • UserSchoolVerification에 만료 여부(isExpired) 확인 메서드 추가
  • 인증 관련 엔티티, 서비스, 테스트 코드 보완 및 쿨다운 동작 검증 추가

🧪 테스트

  • 단위 테스트 추가/수정
  • 로컬에서 동작 확인

✅ 체크리스트

  • 브랜치명이 Git Flow 컨벤션을 따릅니다 (feature/, fix/, hotfix/ 등)
  • 커밋 메시지가 Conventional Commits 컨벤션을 따릅니다
  • 리뷰 가능한 단위로 작업을 분리했습니다
  • 관련 문서를 업데이트했습니다 (필요 시)

💬 리뷰어에게

@codex

- SchoolEmailVerificationProperties에 인증 코드 만료, 쿨다운, 시도 제한 설정 추가
- FailureRecorder에 recordMismatch 메서드 추가 및 시도 제한 초과 시 만료 처리 로직 구현
- 이메일 인증 요청 시 재요청 쿨다운 및 만료된 코드 처리 로직 추가
- UserSchoolVerification에 만료 여부(isExpired) 확인 메서드 추가
- 인증 관련 엔티티, 서비스, 테스트 코드 보완 및 쿨다운 동작 검증 추가

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 887e685c87

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

variables = mapOf(
"code" to code,
"expiresInMinutes" to (verificationExpiresInSeconds / 60).toString(),
"expiresInMinutes" to (properties.codeExpirationSeconds / 60).toString(),

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 인증 메일 만료 시간을 올림 계산으로 표시하세요

expiresInMinutesproperties.codeExpirationSeconds / 60으로 내림 정수 나눗셈해 전달하고 있어, 설정값이 60의 배수가 아니면 사용자 안내가 실제 만료 시각과 어긋납니다(예: 59초→0분, 90초→1분). 이번 커밋으로 만료 시간이 설정값으로 바뀌었기 때문에 운영에서 값을 조정하면 바로 잘못된 안내가 노출될 수 있어요. 최소 1분 보장 + 올림(ceil) 또는 분/초 동시 표기로 계산식을 바꾸는 게 안전합니다.

Useful? React with 👍 / 👎.

- 인증 만료 시간을 분 단위로 올림해 표시하는 expirationMinutesForDisplay 메서드 추가
- SchoolEmailVerificationService에 새로운 만료 시간 처리 로직 반영
- 인증 메일 만료 시간 계산 테스트(requestWithExpirationMinuteCeiling) 추가
- API 문서에 인증 쿨다운 및 시도 제한 관련 섹션 추가
- DocsTest에 재요청 쿨다운 및 시도 제한 응답 문서화 테스트 추가

Refs: N/A
@popeye0618
popeye0618 merged commit 8360c2c into main May 15, 2026
1 check passed
@popeye0618
popeye0618 deleted the feat/school-verification-policy branch May 15, 2026 23:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant