Conversation
fix: FE 보고 버그 3건 (카카오 로그인 scope · 가입 nickname · 프로필 이미지 URL 검증)
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (10)
📝 WalkthroughWalkthrough이 PR은 OIDC 가입 흐름에서 사용자 닉네임을 동적으로 생성하고, provider별 OIDC scope를 구성하며, S3 프로필 이미지 URL의 소유권을 검증하는 기능을 추가합니다. ChangesOIDC 닉네임 생성 및 프로필 이미지 보안
🎯 3 (Moderate) | ⏱️ ~25 minutes 🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
ESLint install failed. For unrecoverable errors, disable the tool in CodeRabbit configuration. 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. Comment |
🧹 knip — dead-code 리포트전체 리포트
|
🩺 NestJS Doctor — 87/100 (Good)진단 237건 (error 0).
architecture / security 상위 항목
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b5000e75f5
ℹ️ 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".
| } | ||
| return ( | ||
| this.config.get<string>('OIDC_KAKAO_SCOPE')?.trim() || | ||
| 'openid account_email profile_nickname profile_image' |
There was a problem hiding this comment.
Delimit Kakao consent scopes with commas
For Kakao authorization requests that explicitly ask for additional consent items, Kakao's REST API docs show the scope value as comma-delimited (and note OIDC requests must include openid when scope is present), while openid-client will send this string unchanged as scope=openid%20account_email.... In that Kakao login path this can still be parsed as an invalid/single consent scope and reproduce the KOE205 failure this change is trying to fix; the Kakao default (and example override) should use commas, e.g. openid,account_email,profile_nickname,profile_image.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
false positive. 카카오 OIDC scope는 OIDC 표준대로 공백 구분이 맞음(RFC 6749 + 카카오 OIDC 문서 'space-delimited' + 토큰 응답 scope도 공백: 'profile_image openid profile_nickname' + next-auth/openid-client 동일 사용). 콤마로 주면 openid-client가 %2C로 인코딩→카카오가 단일 무효 scope로 파싱→오히려 KOE205. 콤마 표기는 카카오 레거시 REST API 한정.
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
Coverage report
Test suite run success1252 tests passing in 145 suites. Report generated by 🧪jest coverage report action from b5000e7 |
Summary
FE 보고 버그 3건 수정(#142)을 main으로 승격합니다. 직전 릴리즈(#139) 이후 develop 델타는 이 3건뿐 — DB 마이그레이션 0, SDL(.graphql) 변경 0, 신규 런타임 의존성 0.
중요 — main 머지 ≠ 자동 배포.
deploy.yml은workflow_dispatch(수동). 이 PR 머지는 코드 동결이며, 실제 배포는 이후 별도 수동 실행 + 아래 사전 확인이 필요합니다.Scope (#142)
email/profile대신 카카오 동의항목 ID(account_email/profile_nickname/profile_image) 사용.OIDC_KAKAO_SCOPE/OIDC_GOOGLE_SCOPEenv로 덮어쓰기 가능._{accountId}suffix로 길이/유니크 보장(가입 실패 회귀 차단).../,%2e) 방어 포함.FE 영향 / 운영 (배포 전 확인)
/auth/oidc/kakao/callback) 확인. 동의항목(profile_nickname/profile_image/account_email)은 활성화 완료. account_email 미가용 시OIDC_KAKAO_SCOPEenv로 제외{정제된이름}_{accountId}(placeholder) 로 변경updateMyProfileImage가 우리가 발급한 publicUrl만 허용(임의 URL 400)createProfileImageUploadUrl가 돌려준publicUrl을 그대로 전송해야 함 — 다른 값 보내면 거절Test plan / 배포 전 체크리스트
머지 / 배포 절차
deploy.yml수동 실행으로 배포Summary by CodeRabbit
릴리스 노트
새로운 기능
보안 개선
테스트