Skip to content

Conversation

@sgoldenbird
Copy link
Contributor

@sgoldenbird sgoldenbird commented Aug 3, 2025

👻 관련 이슈 번호

  • none

👻 요약

  • 카카오 OAuth redirect URI 분리하여 사용자 기준 로그인/회원가입 흐름 통합

👻 주요 변경 사항

  • 인가 코드의 일회성 제한을 해결하고 UX개선을 위해 redirectUri를 로그인용과 회원가입용으로 분리
  • OAuth 버튼 로직 변경
    • 별도의 pageType 없이 로그인 전용 redirect URI만 사용
  • BFF API Route 리팩토링
  • /api/auth/kakao/signin: 로그인 요청
    • 로그인 실패 시 자동으로 /kakao/transition으로 리다이렉션
    • 회원가입 후 로그인
  • Transition 페이지 도입 ((auth)/kakao/transition)
    • 로그인 실패(회원가입 필요) 또는 추가 동의 필요 시 분기용 페이지
    • 쿼리 파라미터(status, message)에 따라 유도 메시지 다르게 표시
    • 다시 카카오 인증을 받도록 유도 useSearchParams().get('status') === 'need-signup'
    • Suspense 로 감싸서 useSearchParams() 사용 허용
    • KakaoTransitionPage는 domain/Auth/components로 분리하여 재사용 구조화
  • Kakao로 시작하기로 버튼 수정
  • 환경변수 (.env) 및 관련 주석 정리

👻 체크리스트

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

📷 UI 변경 사항

카카오1 카카오2

👻 문제 사항

👻 논의 사항

👻 기타 참고 사항

Summary by CodeRabbit

  • New Features

    • 카카오 OAuth 로그인 및 회원가입 기능이 추가되어 카카오 계정으로 간편하게 인증할 수 있습니다.
    • 카카오 OAuth 인증 중간 상태를 안내하는 전환 페이지가 도입되어 사용자 경험이 향상되었습니다.
  • Bug Fixes

    • OAuth 버튼 텍스트가 "Kakao로 시작하기"로 통일되었습니다.
    • 로그인과 회원가입을 위한 리디렉션 URI가 명확하게 분리되어 인증 흐름이 개선되었습니다.
    • 이메일 중복 오류 메시지가 "이미 사용 중인 이메일입니다."로 수정되었습니다.
  • Refactor

    • 토큰 쿠키 설정 로직이 중앙화되어 보안 및 유지보수성이 향상되었습니다.
    • 클라이언트 OAuth 컴포넌트가 간소화되어 로그인 흐름에 집중하도록 변경되었습니다.
  • Style

    • 에러 페이지의 최소 높이가 화면 전체로 조정되어 UI가 개선되었습니다.
  • Documentation

    • 카카오 OAuth 인증 흐름과 관련된 주석 및 안내 문구가 더욱 명확하게 업데이트되었습니다.

@sgoldenbird sgoldenbird linked an issue Aug 3, 2025 that may be closed by this pull request
7 tasks
@sgoldenbird sgoldenbird self-assigned this Aug 3, 2025
@coderabbitai
Copy link

coderabbitai bot commented Aug 3, 2025

Walkthrough

카카오 OAuth 로그인 및 회원가입을 위한 별도의 Next.js API 라우트 핸들러가 도입되었습니다. 각각의 라우트는 인증 코드와 리다이렉트 URI를 받아 백엔드와 통신하여 토큰을 발급받고, 성공 시 쿠키를 설정 후 메인 페이지로 리다이렉트합니다. OAuth 컴포넌트는 로그인/회원가입 플로우에 맞는 리다이렉트 URI를 명확히 구분해 사용하도록 변경되었습니다.

Changes

Cohort / File(s) Change Summary
Kakao OAuth API 라우트 추가
src/app/api/auth/kakao/signin/route.ts, src/app/api/auth/kakao/signup/route.ts
카카오 OAuth 로그인 및 회원가입을 위한 별도의 Next.js API 라우트 핸들러 추가. 인증 코드 처리, 백엔드 통신, 토큰 쿠키 설정, 상황별 리다이렉트 및 에러 핸들링 구현.
OAuth 컴포넌트 리다이렉트 URI 분리 및 버튼 텍스트 변경
src/domain/Auth/components/OAuth.tsx
로그인/회원가입 플로우별로 별도의 환경변수 리다이렉트 URI를 사용하도록 변경. 기존 state 파라미터 제거, 버튼 텍스트를 고정 "Kakao로 시작하기"로 단순화, 환경변수 및 클라이언트ID 유효성 검사 추가.
미들웨어 토큰 쿠키 설정 리팩토링
src/middleware.ts
액세스 토큰 갱신 후 쿠키 설정 로직을 직접 구현하던 부분을 setAuthCookies 유틸 함수 호출로 변경하여 쿠키 설정 로직을 중앙화함.
오류 메시지 수정
src/app/api/test/error/route.ts
HTTP 409 응답 시 오류 메시지를 "이미 사용 중인 이름입니다."에서 "이미 사용 중인 이메일입니다."로 변경.
글로벌 에러 페이지 수정
src/app/error.tsx, src/app/(app)/error.tsx
에러 컨테이너에 min-h-screen 클래스 추가로 화면 최소 높이 보장.
카카오 OAuth 중간 전환 페이지 추가
src/app/(auth)/kakao/transition/page.tsx, src/domain/Auth/components/KakaoTransition.tsx
카카오 OAuth 인증 실패 후 회원가입 전환을 위한 UI 컴포넌트 및 페이지 추가. 상태 코드에 따른 메시지 출력과 재시도용 카카오 OAuth 인증 버튼 포함.
OAuth 컴포넌트 사용법 변경
src/app/(auth)/signin/page.tsx, src/app/(auth)/signup/page.tsx
OAuth 컴포넌트에서 pageType prop 제거에 따른 호출부 수정.
Next.js 설정 변경
next.config.ts
production 환경에서의 콘솔 로그 제거 기능(removeConsole)을 비활성화하도록 주석 처리.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant OAuthComponent as OAuth 컴포넌트
    participant Kakao
    participant NextAPI as Next.js API Route (signin/signup)
    participant Backend

    User->>OAuthComponent: "Kakao로 시작하기" 클릭
    OAuthComponent->>Kakao: 인증 요청 (redirect_uri: signin/signup)
    Kakao->>User: 인증 코드 포함 redirect
    User->>NextAPI: 인증 코드 전달 (GET)
    NextAPI->>Backend: 인증 코드로 토큰 요청
    Backend-->>NextAPI: 토큰 또는 에러 반환
    alt 성공
        NextAPI->>User: 쿠키 설정 및 메인 페이지 리다이렉트
    else 회원가입 필요
        NextAPI->>User: 회원가입 페이지로 리다이렉트 (에러코드 포함)
    else 이미 가입됨/기타 에러
        NextAPI->>User: 로그인/회원가입 페이지로 리다이렉트 (에러코드 포함)
    end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • Refactor: 리팩토링3 #461: 카카오 OAuth 컴포넌트 리팩토링 및 클라이언트 측 인증 흐름 변경과 관련된 PR로, 본 PR과 OAuth 흐름 및 컴포넌트 변경에 직접적 연관 있음.
  • Feat: OAuth 구현  #324: 카카오 OAuth 콜백 라우트에서 로그인/회원가입 플로우를 통합 처리하는 로직 구현으로, 본 PR과 유사한 기능을 다룸.

Suggested labels

refactor

Suggested reviewers

  • Seon-K
  • sgoldenbird

Poem

토큰을 품고 Hop! Hop!
로그인, 회원가입 Hop! Hop!
카카오와 춤추며
리다이렉트도 척척!
새 API 길 따라
🥕와 함께,
로밍 준비 완료! 🐇✨

Note

⚡️ Unit Test Generation is now available in beta!

Learn more here, or try it out under "Finishing Touches" below.


📜 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 23f0846 and a5fad41.

📒 Files selected for processing (1)
  • next.config.ts (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • next.config.ts
✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/473/oauth-unified

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.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 4

📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between d250561 and 3a77b29.

📒 Files selected for processing (3)
  • src/app/api/auth/kakao/signin/route.ts (1 hunks)
  • src/app/api/auth/kakao/signup/route.ts (1 hunks)
  • src/domain/Auth/components/OAuth.tsx (3 hunks)
🔇 Additional comments (6)
src/domain/Auth/components/OAuth.tsx (3)

8-38: 문서화가 명확하고 적절합니다!

카카오의 인가 코드 일회성 제약사항과 redirect URI 분리 필요성을 잘 설명하고 있습니다.


40-64: OAuth 플로우 분리 구현이 적절합니다!

환경 변수 검증과 pageType에 따른 redirect URI 선택 로직이 명확하게 구현되었습니다.


80-80: 버튼 텍스트 통합이 사용자 경험을 개선합니다!

로그인/회원가입에 관계없이 일관된 텍스트를 사용하여 사용자 혼란을 줄입니다.

src/app/api/auth/kakao/signin/route.ts (1)

76-84: 인증 성공 처리가 적절합니다!

토큰을 안전하게 쿠키에 저장하고 적절한 페이지로 리다이렉트합니다.

src/app/api/auth/kakao/signup/route.ts (2)

91-118: 에러 처리 로직이 적절합니다!

회원가입 시나리오에 맞게 이미 존재하는 사용자는 로그인 페이지로, 기타 에러는 회원가입 페이지로 리다이렉트합니다.


80-80: 백엔드 닉네임 중복 검증 확인 필요
랜덤 닉네임 생성 로직은 적절하지만, 실제로 중복이 발생했을 때 처리 로직이 있는지 확인해야 합니다.

  • ORM 스키마(예: prisma/schema.prisma)에서 User.nickname 필드가 @unique로 설정되어 있는지 검토
  • 회원가입 서비스(API) 레이어에서 unique 제약 위반 시 409 에러를 반환하고 있는지, 혹은 별도 중복 체크 로직이 있는지 점검

@sgoldenbird sgoldenbird force-pushed the feat/473/oauth-unified branch from 3a77b29 to b39be78 Compare August 3, 2025 21:49
@github-actions
Copy link

github-actions bot commented Aug 3, 2025

✅ Preview Deployment Ready!

🔗 Preview URL: https://roam-ready-inlo5uz4e-yongmins-projects-bf5f7733.vercel.app
📝 Branch: feat/473/oauth-unified
💾 Commit: Feat: 카카오 OAuth redirect URI 분리
🕐 Deployed at:


This preview will be automatically updated on new commits.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

♻️ Duplicate comments (2)
src/app/api/auth/kakao/signup/route.ts (2)

23-28: 환경 변수 검증이 적절히 구현되었습니다.

이전 리뷰 코멘트에서 지적된 non-null assertion 문제가 해결되었습니다. 환경 변수가 설정되지 않은 경우 명확한 에러 메시지와 함께 예외를 던지도록 개선되었습니다.


81-85: 예외 처리가 개선되었지만 여전히 문제가 있습니다.

이전 리뷰에서 지적된 처리되지 않는 예외 문제가 여전히 남아있습니다. try-catch 블록 내에서 throw하고 있지만, 이는 적절한 리다이렉트 응답 대신 예외를 던지고 있습니다.

다음과 같이 직접 리다이렉트 응답을 반환하도록 수정하세요:

 if (!code) {
-  throw Object.assign(new Error('카카오 인증 코드가 없습니다.'), {
-    status: 400,
-  });
+  const errorUrl = new URL(
+    `${ROUTES.SIGNUP}?error=${ERROR_CODES.OAUTH_KAKAO_FAILED}`,
+    request.url,
+  );
+  errorUrl.searchParams.append('message', '카카오 인증 코드가 없습니다.');
+  return NextResponse.redirect(errorUrl);
 }
📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between 3a77b29 and b39be78.

📒 Files selected for processing (3)
  • src/app/api/auth/kakao/signin/route.ts (1 hunks)
  • src/app/api/auth/kakao/signup/route.ts (1 hunks)
  • src/domain/Auth/components/OAuth.tsx (3 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
  • src/app/api/auth/kakao/signin/route.ts
  • src/domain/Auth/components/OAuth.tsx
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: vercel-preview
🔇 Additional comments (3)
src/app/api/auth/kakao/signup/route.ts (3)

30-53: 백엔드 API 호출 및 응답 처리가 적절합니다.

fetch 호출과 응답 처리 로직이 올바르게 구현되어 있으며, Zod 스키마를 통한 응답 검증도 적절합니다. 에러 객체에 status 속성을 추가하여 상위 함수에서 HTTP 상태 코드를 활용할 수 있도록 한 부분도 좋습니다.


98-125: 에러 처리 로직이 포괄적이고 적절합니다.

다양한 에러 상황에 대한 처리가 잘 구현되어 있습니다:

  • 409/400 상태 코드에 대한 특별 처리 (이미 존재하는 사용자)
  • 에러 메시지를 URL 파라미터로 전달하여 클라이언트 토스트 처리 지원
  • 콘솔 로깅을 통한 디버깅 지원

89-97: 성공 시 응답 처리가 적절합니다.

성공적인 회원가입 후 토큰을 쿠키에 설정하고 메인 페이지로 리다이렉트하는 로직이 올바르게 구현되어 있습니다. setAuthCookies 유틸리티 함수를 사용하여 일관성 있는 인증 처리를 하고 있습니다.

@sgoldenbird sgoldenbird force-pushed the feat/473/oauth-unified branch 3 times, most recently from 57b1def to 1b2cd27 Compare August 4, 2025 05:27
@sgoldenbird sgoldenbird force-pushed the feat/473/oauth-unified branch from 1b2cd27 to 330aea9 Compare August 4, 2025 05:29
@github-actions
Copy link

github-actions bot commented Aug 4, 2025

✅ Preview Deployment Ready!

🔗 Preview URL: https://roam-ready-nv1xc9vm0-yongmins-projects-bf5f7733.vercel.app
📝 Branch: feat/473/oauth-unified
💾 Commit: Feat: 카카오 OAuth redirect URI 분리
🕐 Deployed at:


This preview will be automatically updated on new commits.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (2)
src/domain/Auth/components/KakaoTransition.tsx (2)

43-46: 하드코딩된 카카오 OAuth URL을 상수로 분리하는 것을 권장합니다.

가독성과 유지보수성을 위해 카카오 OAuth URL을 상수로 분리하는 것이 좋겠습니다.

+const KAKAO_AUTH_BASE_URL = 'https://kauth.kakao.com/oauth/authorize';
+
 const handleRedirectToKakao = () => {
-  const kakaoAuthUrl = `https://kauth.kakao.com/oauth/authorize?response_type=code&client_id=${KAKAO_CLIENT_ID}&redirect_uri=${KAKAO_REDIRECT_URI}`;
+  const kakaoAuthUrl = `${KAKAO_AUTH_BASE_URL}?response_type=code&client_id=${KAKAO_CLIENT_ID}&redirect_uri=${KAKAO_REDIRECT_URI}`;
   window.location.href = kakaoAuthUrl;
 };

58-58: 더 명확한 기본 메시지를 제공해주세요.

현재 기본 메시지가 구체적인 상황을 설명하지 못합니다. 사용자 경험 개선을 위해 더 명확한 안내를 제공하는 것이 좋겠습니다.

-<p>{message ?? '아래 버튼을 눌러 회원가입하세요.'}</p>
+<p>{message ?? (notAMember ? '아래 버튼을 눌러 회원가입을 진행하세요.' : '다시 시도해주세요.')}</p>
📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between 57b1def and 8f767b7.

📒 Files selected for processing (11)
  • src/app/(app)/error.tsx (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/app/api/test/error/route.ts (1 hunks)
  • src/app/error.tsx (1 hunks)
  • src/domain/Auth/components/KakaoTransition.tsx (1 hunks)
  • src/domain/Auth/components/OAuth.tsx (2 hunks)
  • src/middleware.ts (2 hunks)
✅ Files skipped from review due to trivial changes (3)
  • src/app/(auth)/signin/page.tsx
  • src/app/(app)/error.tsx
  • src/app/(auth)/kakao/transition/page.tsx
🚧 Files skipped from review as they are similar to previous changes (5)
  • src/app/api/auth/kakao/signin/route.ts
  • src/app/error.tsx
  • src/app/api/test/error/route.ts
  • src/middleware.ts
  • src/app/api/auth/kakao/signup/route.ts
🔇 Additional comments (3)
src/app/(auth)/signup/page.tsx (1)

47-47: LGTM! OAuth 컴포넌트 사용법이 올바르게 업데이트되었습니다.

pageType prop이 제거되어 OAuth 컴포넌트의 새로운 단순화된 인터페이스와 일치합니다.

src/domain/Auth/components/OAuth.tsx (2)

67-67: LGTM! 버튼 텍스트가 새로운 OAuth 플로우에 적합하게 변경되었습니다.

"Kakao로 시작하기"라는 텍스트가 로그인과 회원가입을 모두 포괄하는 의미로 적절합니다.


10-28: 문서화가 잘 되어있습니다.

OAuth 플로우의 변경사항과 인가 코드의 일회성 특성에 대한 설명이 명확하게 기술되어 있어 좋습니다.

Comment on lines +9 to +10
const KAKAO_REDIRECT_URI = process.env.NEXT_PUBLIC_KAKAO_SIGNUP_REDIRECT_URI!;
const KAKAO_CLIENT_ID = process.env.NEXT_PUBLIC_KAKAO_REST_API_KEY!;
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue

환경 변수 검증이 누락되었습니다.

클라이언트 컴포넌트에서 환경 변수에 직접 접근하고 있지만, 값이 존재하는지 검증하지 않습니다. 런타임 오류를 방지하기 위해 검증 로직을 추가해주세요.

다음과 같이 수정하는 것을 제안합니다:

-const KAKAO_REDIRECT_URI = process.env.NEXT_PUBLIC_KAKAO_SIGNUP_REDIRECT_URI!;
-const KAKAO_CLIENT_ID = process.env.NEXT_PUBLIC_KAKAO_REST_API_KEY!;
+const KAKAO_REDIRECT_URI = process.env.NEXT_PUBLIC_KAKAO_SIGNUP_REDIRECT_URI;
+const KAKAO_CLIENT_ID = process.env.NEXT_PUBLIC_KAKAO_REST_API_KEY;

그리고 handleRedirectToKakao 함수에서 검증을 추가하세요:

const handleRedirectToKakao = () => {
  if (!KAKAO_CLIENT_ID || !KAKAO_REDIRECT_URI) {
    console.error('카카오 OAuth 환경 변수가 설정되지 않았습니다.');
    return;
  }
  // ... 기존 로직
};
🤖 Prompt for AI Agents
In src/domain/Auth/components/KakaoTransition.tsx around lines 9 to 10, the
environment variables KAKAO_REDIRECT_URI and KAKAO_CLIENT_ID are accessed
without validation, which can cause runtime errors if they are undefined. Add
explicit checks to verify these variables are defined before use. Implement
validation logic at the top of the file or within the handleRedirectToKakao
function to log an error and prevent further execution if either variable is
missing.

@sgoldenbird sgoldenbird force-pushed the feat/473/oauth-unified branch from 8f767b7 to 23f0846 Compare August 4, 2025 13:26
@github-actions
Copy link

github-actions bot commented Aug 4, 2025

✅ Preview Deployment Ready!

🔗 Preview URL: https://roam-ready-9bevwlw6s-yongmins-projects-bf5f7733.vercel.app
📝 Branch: feat/473/oauth-unified
💾 Commit: Feat: 카카오 OAuth redirect URI 분리
🕐 Deployed at:


This preview will be automatically updated on new commits.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
src/app/(auth)/kakao/transition/page.tsx (1)

10-16: 로딩 상태 표시를 고려해보세요.

현재 Suspensefallback={null}로 설정되어 있어 컴포넌트 로딩 중에 아무것도 표시되지 않습니다. 사용자 경험 개선을 위해 로딩 스피너나 스켈레톤 UI를 고려해보세요.

다음과 같이 로딩 상태를 개선할 수 있습니다:

  return (
-    <Suspense fallback={null}>
+    <Suspense fallback={<div className="flex items-center justify-center min-h-screen">로딩 중...</div>}>
      <KakaoTransition />
    </Suspense>
  );
📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between 8f767b7 and 23f0846.

📒 Files selected for processing (7)
  • 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)
✅ Files skipped from review due to trivial changes (1)
  • src/app/(auth)/signin/page.tsx
🚧 Files skipped from review as they are similar to previous changes (5)
  • src/domain/Auth/components/OAuth.tsx
  • src/app/api/auth/kakao/signup/route.ts
  • src/app/(auth)/signup/page.tsx
  • src/domain/Auth/components/KakaoTransition.tsx
  • src/app/api/auth/kakao/signin/route.ts
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: vercel-preview
🔇 Additional comments (2)
src/app/(auth)/kakao/transition/page.tsx (2)

1-3: LGTM! 클라이언트 컴포넌트 설정이 적절합니다.

OAuth 전환 페이지의 특성상 브라우저 API(쿼리 파라미터 읽기, 리다이렉트 등)를 사용해야 하므로 'use client' 지시어 사용이 적절합니다.


5-8: SSR 비활성화가 사용자 경험에 미치는 영향을 고려해보세요.

ssr: false 설정으로 클라이언트 전용 렌더링을 하고 있는데, 이는 다음과 같은 영향이 있습니다:

  • 초기 로딩 시 빈 화면이 표시될 수 있음
  • SEO에 부정적 영향 (하지만 인증 페이지이므로 SEO가 중요하지 않을 수 있음)

OAuth 전환 페이지의 특성상 클라이언트 사이드에서만 동작해야 하는 것이 맞다면 현재 구현이 적절합니다.

@github-actions
Copy link

github-actions bot commented Aug 4, 2025

✅ Preview Deployment Ready!

🔗 Preview URL: https://roam-ready-54ina3uml-yongmins-projects-bf5f7733.vercel.app
📝 Branch: feat/473/oauth-unified
💾 Commit: Feat: 카카오 OAuth redirect URI 분리
🕐 Deployed at:


This preview will be automatically updated on new commits.

@github-actions
Copy link

github-actions bot commented Aug 4, 2025

✅ Preview Deployment Ready!

🔗 Preview URL: https://roam-ready-79u7u3sqq-yongmins-projects-bf5f7733.vercel.app
📝 Branch: feat/473/oauth-unified
💾 Commit: Feat: 카카오 OAuth redirect URI 분리
🕐 Deployed at:


This preview will be automatically updated on new commits.

@sgoldenbird sgoldenbird closed this Aug 4, 2025
@sgoldenbird sgoldenbird reopened this Aug 4, 2025
@sgoldenbird sgoldenbird closed this Aug 4, 2025
@github-actions
Copy link

github-actions bot commented Aug 4, 2025

✅ Preview Deployment Ready!

🔗 Preview URL: https://roam-ready-3mr00wdwx-yongmins-projects-bf5f7733.vercel.app
📝 Branch: feat/473/oauth-unified
💾 Commit: Feat: 카카오 OAuth redirect URI 분리
🕐 Deployed at:


This preview will be automatically updated on new commits.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Refactor: OAUTH 통합 버전

4 participants