본문으로 건너뛰기

Authentication And User API

기본 경로는 Cloudflare Frontend 도메인의 /api입니다. JSON 요청에는 Content-Type: application/json을 사용하며 인증은 HttpOnly 쿠키로 전달됩니다.

상태 확인

MethodPath인증설명
GET/health아니요Lambda/Express 상태 확인

가입 및 로그인

MethodPath인증설명
POST/api/auth/signup아니요이메일과 비밀번호로 가입
POST/api/auth/signup/confirm아니요이메일 확인 코드 검증
POST/api/auth/login아니요이메일 로그인 시작
POST/api/auth/login/challenge아니요TOTP/OTP challenge 완료
POST/api/auth/refreshRefresh cookieaccess token 갱신
POST/api/auth/logout선택Cognito global sign-out 및 쿠키 삭제
GET/api/auth/session프로필, 권한, 구독, MFA 상태 조회

비밀번호는 12자 이상이며 영문 대문자, 소문자, 숫자, 특수문자를 포함해야 합니다.

비밀번호

MethodPath인증설명
POST/api/auth/password/forgot아니요비밀번호 재설정 코드 발송
POST/api/auth/password/reset아니요코드와 새 비밀번호로 재설정
POST/api/auth/password/change현재 로그인 사용자의 비밀번호 변경

MFA

MethodPath인증설명
POST/api/auth/mfa/totp/setupTOTP secret과 otpauth URI 생성
POST/api/auth/mfa/totp/confirm인증 코드 검증 후 MFA 활성화
DELETE/api/auth/mfa/totpTOTP MFA 해제

소셜 로그인

MethodPath설명
GET/api/auth/social/googleCognito Google 로그인으로 redirect
GET/api/auth/social/google/callbackGoogle authorization code 교환
GET/api/auth/social/githubGitHub OAuth로 redirect
GET/api/auth/social/github/callbackGitHub 사용자와 검증 이메일 확인 후 Cognito Custom Auth

OAuth state는 DynamoDB TTL 항목으로 10분간 저장되고 callback에서 한 번만 소비됩니다.

프로필과 설정

MethodPath권한설명
GET/api/me로그인계정 전체 조회
PATCH/api/me/profile로그인표시 이름, 소개, avatar URL 변경
PATCH/api/me/settings로그인locale, timezone, 이메일 수신 설정 변경
PUT/api/users/:userId/permissionsPERMISSION_MANAGE사용자 권한 변경 및 감사 기록

오류 응답

대표적인 응답 코드는 다음과 같습니다.

  • 400: validation 또는 만료된 challenge
  • 401: 로그인 필요, 세션 만료
  • 403: 필요한 권한 없음
  • 404: 사용자 profile 없음
  • 500: 처리되지 않은 서버 오류

validation 오류는 messageissues 배열을 반환합니다.