본문으로 건너뛰기

인증 (Auth)

카카오 OAuth 기반 로그인 흐름입니다. 프론트 BFF가 access/refresh token을 HttpOnly 쿠키로 브리지합니다.

관련 경로

app/(auth)/login/
app/api/auth/
├── kakao/route.ts ← 로그인 시작 (카카오 URL 리다이렉트)
├── kakao/callback/route.ts ← OAuth 콜백 처리
├── logout/route.ts
├── refresh/route.ts
└── restore/route.ts ← 탈퇴 복구

features/auth/
├── hooks/
├── model/
├── type/
└── ui/

entities/auth/server/

로그인 흐름

1. /login 페이지 → 카카오 로그인 버튼 클릭
2. GET /api/auth/kakao → 카카오 OAuth URL로 리다이렉트
3. 카카오 인증 완료 → GET /api/auth/kakao/callback
4. OAuth state 검증 → code 교환 → 백엔드 토큰 발급
5. access/refresh token → HttpOnly 쿠키 저장
6. 이전 화면으로 복귀 (또는 /home)

토큰 관리

  • access_tokenrefresh_token은 모두 HttpOnly 쿠키
  • 쿠키 키 이름은 shared/config/authToken.ts 상수 사용
  • BFF 내부에서 401 응답 시 refresh route가 자동으로 토큰 갱신

로그인 UI 규칙

  • 로그인 카드 전환(카카오 ↔ 이메일)은 같은 카드 안에서 이어지는 느낌
  • view state는 default / email 명확하게 구분
  • 과한 bounce·scale 애니메이션 지양
  • 에러 메시지 영역과 input focus 상태를 항상 고려

탈퇴 복구

탈퇴 후 일정 기간 내 재로그인 시 /auth/restore 페이지로 이동합니다.

  • GET /api/auth/restore — 복구 가능 여부 확인
  • 복구 거절: POST /api/auth/restore/decline