Skip to content

prod 배포#143

Merged
mjy926 merged 4 commits into
mainfrom
develop
Jun 28, 2026
Merged

prod 배포#143
mjy926 merged 4 commits into
mainfrom
develop

Conversation

@mjy926

@mjy926 mjy926 commented Jun 24, 2026

Copy link
Copy Markdown
Contributor
  • 비밀번호 찾기 기능 추가
  • 지원 현황 확인 기능 추가

mjy926 and others added 4 commits May 17, 2026 20:44
* 특정 recruiting id에 해당하는 지원 결과를 반환하는 api를 구현했습니다.
## 변경 사항

- 비밀번호 찾기/재설정 API 3종 추가
  - `POST /api/v3/auth/password-reset/email`
  - `POST /api/v3/auth/password-reset/verify`
  - `POST /api/v3/auth/password-reset`
- 비밀번호 재설정 인증번호 저장용 `password_reset_verification` 테이블 추가
- OCI Email Delivery SDK 기반 메일 전송 서비스 추가
- 인증번호 생성, 해시 저장, 만료 처리, 시도 횟수 제한, 사용 완료 처리 로직 추가
- 비밀번호 재설정 서비스 테스트 및 메일 SDK payload 테스트 추가

## 구현 상세

- 인증번호 원문은 DB에 저장하지 않고 `PasswordService`로 해시하여 저장합니다.
- 인증번호 유효 시간은 10분입니다.
- 인증번호 검증 실패는 최대 5회까지 허용합니다.
- 존재하지 않는 이메일로 인증번호 전송 요청이 들어와도 계정 존재 여부가 노출되지 않도록 정상 응답합니다.
- 메일 발송은 SMTP credential 없이
`oci.email_data_plane.EmailDPClient.submit_email()`을 사용합니다.
- Instance Principal signer 생성이 실패할 때만 로컬 OCI
config(`oci.config.from_file()`)로 fallback합니다.
- 비밀번호 재설정 인증번호는 DB에 먼저 저장된 뒤 메일로 발송되어, 저장 실패 시 검증 불가능한 코드가 발송되지 않습니다.

## 필요한 운영 설정

OCI Email Delivery를 설정한 뒤 아래 secret/env 값을 등록해야 합니다.

```text
email_compartment_id
email_from_email
email_from_name        # optional
email_reply_to         # optional
email_service_endpoint # optional

---------

Co-authored-by: 문재영 <152019282+mjy926@users.noreply.github.com>
이름이 중복으로 반환되는 문제가 있어서 id 기준으로도 정렬하도록 수정했습니다.
## Summary
- Recreate the password reset fixes on top of develop so the diff is
based on the correct target branch
- Return UserNotFoundException for unknown password-reset email requests
- Improve password reset email payload and sender validation
- Reduce reset code TTL from 10 minutes to 5 minutes
- Address CodeRabbit feedback for commit timing, row locking,
timezone-aware datetimes, settings init, and migration defaults

## Tests
- .venv\Scripts\python.exe -m pytest
wacruit\src\tests\auth\test_auth_password_reset_service.py
wacruit\src\tests\mail\test_mail_service.py
- 21 passed, 1 warning

## Notes
- Previous PR #141 was closed because its branch history was not based
on develop.
- Local .env.test OCI mail settings were not included.
@mjy926 mjy926 requested a review from a team as a code owner June 24, 2026 12:13
@coderabbitai

coderabbitai Bot commented Jun 24, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 002d3eb4-b2c7-485b-b42d-4448077e0acb

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch develop

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@mjy926 mjy926 merged commit ebe285b into main Jun 28, 2026
3 checks passed
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.

2 participants