Skip to content

Conversation

@sgoldenbird
Copy link
Contributor

@sgoldenbird sgoldenbird commented Aug 6, 2025

👻 관련 이슈 번호

  • none

👻 요약

👻 주요 변경 사항

👻 체크리스트

  • Assignees에 본인을 등록했나요?
  • 라벨을 사이드 탭에서 등록했나요?
  • PR은 사이드 탭 Projects를 등록 하지마세요.
  • PR은 Milestone을 등록 하지마세요.
  • PR을 보내는 브랜치가 올바른지 확인했나요?
  • 팀원들이 리뷰하기 쉽도록 설명을 자세하게 작성했나요?
  • 변경사항을 충분히 테스트 했나요?
  • 컨벤션에 맞게 구현했나요?

📷 UI 변경 사항

👻 문제 사항

👻 논의 사항

👻 기타 참고 사항

Summary by CodeRabbit

  • 신규 기능

    • 카카오 OAuth 로그인 및 회원가입을 위한 API 경로와 클라이언트 전환 페이지가 추가되었습니다.
    • 카카오 인증 과정에서 중간 안내 및 리다이렉션을 제공하는 전용 화면이 도입되었습니다.
  • 기능 개선

    • 소셜 로그인 버튼이 단일 로그인 플로우로 단순화되었습니다.
    • 카카오 OAuth 인증 시 더 명확한 에러 안내 및 리다이렉션이 제공됩니다.
  • 버그 수정

    • 중복된 미들웨어 조건문이 제거되어 코드가 간소화되었습니다.
  • 설정

    • 특정 서버리스 함수의 최대 실행 시간이 30초로 설정되었습니다.
    • local-assets/ 폴더가 Git 추적에서 제외되었습니다.
    • 이미지 최적화 관련 설정이 비활성화되었습니다.

@coderabbitai
Copy link

coderabbitai bot commented Aug 6, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

카카오 OAuth 인증 플로우를 위한 신규 API 라우트(signin, signup)와 클라이언트 전환 컴포넌트(KakaoTransition)가 추가되었습니다. OAuth 관련 클라이언트 컴포넌트(OAuth)는 단일 로그인 플로우로 단순화되었고, 관련 페이지에서 prop 전달이 제거되었습니다. 미들웨어, 환경설정 파일(.gitignore, vercel.json, next.config.ts)에도 일부 수정이 이루어졌습니다.

Changes

Cohort / File(s) Change Summary
카카오 OAuth API 라우트 추가
src/app/api/auth/kakao/signin/route.ts, src/app/api/auth/kakao/signup/route.ts
카카오 OAuth 로그인 및 회원가입을 처리하는 신규 Next.js API 라우트 추가. 각각 인가 코드를 받아 백엔드에 POST 요청, 토큰 수신 후 쿠키 설정 및 리다이렉트 처리, 에러 발생 시 상황별로 전환 페이지 또는 에러 페이지로 리다이렉트.
카카오 전환/클라이언트 컴포넌트
src/app/(auth)/kakao/transition/page.tsx, src/domain/Auth/components/KakaoTransition.tsx
카카오 인증 중간 전환 페이지 및 컴포넌트 신설. URL 쿼리 파라미터(status, message)에 따라 안내 메시지 및 버튼 제공, 버튼 클릭 시 카카오 인증 URL로 리다이렉트. transition/page.tsx는 SSR이 비활성화된 클라이언트 컴포넌트로 KakaoTransition을 동적 import 및 Suspense로 감쌈.
OAuth 컴포넌트 및 연관 페이지
src/domain/Auth/components/OAuth.tsx, src/app/(auth)/signin/page.tsx, src/app/(auth)/signup/page.tsx
OAuth 컴포넌트에서 pageType prop 및 관련 분기 제거, 항상 로그인 플로우로 동작하도록 단순화. 연관 페이지에서 OAuth 컴포넌트 prop 제거. OAuth URL state 파라미터 및 회원가입 redirect URI 미사용, 관련 코드 삭제.
환경 및 설정 파일
.gitignore, next.config.ts, vercel.json
.gitignorelocal-assets/ 추가, next.config.ts에서 images.unoptimized 옵션 주석 처리, vercel.json에 카카오 signin 함수의 최대 실행시간(30초) 명시.
미들웨어
src/middleware.ts
/api/etl 경로에 대한 중복된 조건문 제거로 코드 단순화, config 하단에 주석 추가.

Sequence Diagram(s)

sequenceDiagram
  participant User
  participant ClientApp
  participant Kakao
  participant API_Route (signin/signup)
  participant Backend

  User->>ClientApp: 카카오 로그인 버튼 클릭
  ClientApp->>Kakao: 인증 요청 (인가 코드 받기)
  Kakao->>ClientApp: 인가 코드 전달 (redirect)
  ClientApp->>API_Route: 인가 코드 전달 (GET)
  API_Route->>Backend: 인가 코드/redirect URI로 토큰 요청 (POST)
  Backend-->>API_Route: 액세스/리프레시 토큰 반환
  API_Route->>ClientApp: 토큰 쿠키로 설정, 리다이렉트 (성공/실패에 따라)
  ClientApp->>User: 활동 페이지 또는 전환/에러 페이지 표시
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~35 minutes

Possibly related PRs

  • Feat: 카카오 소셜 로그인/회원가입 기능 통합 및 개선 #514
    동일한 src/app/(auth)/kakao/transition/page.tsx 파일에 대한 신규 클라이언트 페이지 컴포넌트 추가가 이루어진 PR로, 코드 수준에서 강한 중복 또는 직접적 연관이 있습니다.
  • Feat: OAuth 구현  #324
    카카오 OAuth 콜백 라우트에서 로그인/회원가입 플로우를 통합 처리하는 PR로, 본 PR의 신규 인증 플로우와 기능적 연관성이 높으나, 라우트 구조는 다릅니다.
  • Refactor: 1차 리팩토링 #415
    카카오 OAuth 콜백 라우트의 리팩토링(통합 핸들러) PR로, 본 PR의 개별 signin/signup 라우트와 구조적 차이는 있으나, 인증 흐름 개선이라는 점에서 관련성이 있습니다.

Suggested reviewers

  • Seon-K
  • Yongmin0423

Poem

🐰
카카오 바람 타고 hop hop hop,
로그인, 회원가입, 한 번에 척척!
전환 페이지 반짝, 새 길을 안내,
쿠키와 토큰도 잊지 않고 챙겨가네.
깡총깡총 리뷰하며,
로암레디에 봄이 오길 바라네!
🥕✨


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f165a3d and 9edf4c5.

📒 Files selected for processing (11)
  • .gitignore (1 hunks)
  • next.config.ts (1 hunks)
  • src/app/(auth)/kakao/transition/page.tsx (1 hunks)
  • src/app/(auth)/signin/page.tsx (1 hunks)
  • src/app/(auth)/signup/page.tsx (1 hunks)
  • src/app/api/auth/kakao/signin/route.ts (1 hunks)
  • src/app/api/auth/kakao/signup/route.ts (1 hunks)
  • src/domain/Auth/components/KakaoTransition.tsx (1 hunks)
  • src/domain/Auth/components/OAuth.tsx (2 hunks)
  • src/middleware.ts (1 hunks)
  • vercel.json (1 hunks)
✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • 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
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai generate unit tests to generate unit tests for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@sgoldenbird sgoldenbird self-assigned this Aug 6, 2025
@sgoldenbird sgoldenbird merged commit 405a760 into main Aug 6, 2025
3 of 4 checks passed
@sgoldenbird sgoldenbird deleted the develop branch August 6, 2025 11:51
@github-actions
Copy link

github-actions bot commented Aug 6, 2025

✅ Preview Deployment Ready!

🔗 Preview URL: https://roam-ready-9rw3p1a4n-yongmins-projects-bf5f7733.vercel.app
📝 Branch: develop
💾 Commit: Chore: oauth unified
🕐 Deployed at:


This preview will be automatically updated on new commits.

@sgoldenbird sgoldenbird changed the title Chore: oauth unified Feat: 카카오 OAuth 로그인/회원가입 라우트 구현 및 리팩토링 Aug 19, 2025
@sgoldenbird sgoldenbird changed the title Feat: 카카오 OAuth 로그인/회원가입 라우트 구현 및 리팩토링 Feat: OAuth 버튼 역할 분리 및 카카오 라우트 세분화, 전역 에러 페이지 UI 개선 Aug 19, 2025
@sgoldenbird sgoldenbird changed the title Feat: OAuth 버튼 역할 분리 및 카카오 라우트 세분화, 전역 에러 페이지 UI 개선 Refactor: OAuth 버튼 역할 분리 및 카카오 라우트 세분화, 전역 에러 페이지 UI 개선 Aug 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants