Skip to content

feat: 구글 로그인 API (#71) - #73

Open
ji2081 wants to merge 4 commits into
developfrom
feat/71-google-login-api
Open

ji2081 wants to merge 4 commits into
developfrom
feat/71-google-login-api

Conversation

@ji2081

@ji2081 ji2081 commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

관련 이슈

작업 내용

  • POST /api/v1/auth/login (명세 1번)
  • 가입 회원: 접근 토큰과 재발급 토큰 쿠키 발급, 로그인 시각 기록
  • 처음 온 사용자: 가입용 토큰과 구글 계정 정보 반환 (회원을 만들지 않음)
  • 재발급 토큰 발급: 원문은 쿠키로만, DB에는 SHA-256 해시 저장, 14일, 새 family_id
  • user 연결 지점 추가: recordLogin, getNickname (CLAUDE.md 표 반영)

명세와 달라진 점

명세에 없거나 달랐던 부분을 s1-api-spec.md에 함께 반영함

  • AUTH502_1 문구를 노션과 같은 "다시 시도해주세요."로 통일
  • 쿠키: 이름 refreshToken, Path=/api/v1/auth, SameSite 기본 Lax (AUTH_COOKIE_SAME_SITE로 변경 가능)
  • provider가 없거나 GOOGLE이 아니면 AUTH400_1
  • 연결된 회원이 탈퇴했으면 USER404_1

테스트

전체 ./gradlew build 통과

  • 처음 온 사용자, 가입 회원, AUTH401_3, AUTH502_1, 탈퇴 회원 USER404_1
  • 빈 code·codeVerifier·redirectUri는 COMMON400_1이고 구글을 부르지 않음
  • provider 오류 AUTH400_1 (NAVER, 소문자, null)
  • 쿠키 속성, 해시 저장, 트랜잭션 밖 호출 실패, toString에 토큰 미노출

확인 체크리스트

  • ./gradlew build 통과
  • 테스트 포함
  • 변경 400줄 안팎 (운영 396, 테스트 369, 문서 6. 운영코드는 400줄 안팎이라 나누지 않음)
  • 병합된 마이그레이션 수정 안 함
  • 비밀 값·개인정보 없음
  • global 공통 코드 수정 없음

리뷰어에게

  • AUTH200_2는 명세대로 코드 하나에 문구가 2개입니다. ResultCodeRegistry가 중복 코드를 막아서 두 번째 문구만 컨트롤러에서 넣었습니다. 화면은 isCompletedSignUp으로 구분해야 합니다.
  • 구글 호출은 가짜 응답으로 테스트했습니다. 실제 구글 로그인은 OAuth 등록 후 확인이 필요합니다.
  • CORS가 아직 없어 화면과 서버 주소가 다르면 호출이 막힙니다. global 코드라 별도 PR로 올릴 예정입니다.

@ji2081 ji2081 self-assigned this Nov 5, 2026
@ji2081 ji2081 added feature 기능 개발 auth 로그인·가입·토큰 labels Nov 5, 2026
@ji2081 ji2081 changed the title Feat/71 google login api feat: 구글 로그인 API (#71) Nov 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

auth 로그인·가입·토큰 feature 기능 개발

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[feat] 구글 로그인 API

1 participant