Skip to content

로그인 (Auth) API

yanggwangseong edited this page Nov 19, 2024 · 7 revisions

Auth

Method Endpoint Description
POST /sign-in 사용자 로그인
POST /sign-up 사용자 회원가입
POST /sign-out 사용자 로그아웃
PATCH /verify-email 이메일 인증 토큰 검증 및 사용자 활성화

[POST] 로그인 /auth/sign-in

Headers

Key Value Description
Content-Type application/json 요청 본문이 JSON 형식임을 지정
Authorization Basic base64(username:password) 사용자 인증을 위한 Basic Auth 헤더 (Base64)

Request

{
    "email": "[email protected]",
    "password": "test123"
}

Response

Success (200 OK):

{
   "accessToken": "jwt-access-token",
   "refreshToken": "jwt-refresh-token"
}

**Exception **

  • 401 Unauthorized: 이메일 또는 비밀번호가 잘못된 경우
{
  "success": false,
  "timestamp": "2023-02-22T06:25:08.663Z",
  "status": 401,
  "message": "이메일 또는 비밀번호가 잘못되었습니다",
  "path": "경로"
}
  • 400 Bad Request: 이메일 또는 비밀번호가 누락된 경우
{
  "success": false,
  "timestamp": "2023-02-22T06:25:08.663Z",
  "status": 401,
  "message": "이메일 또는 비밀번호가 누락되었습니다",
  "path": "경로"
}

[POST] 회원가입 /auth/sign-up

Headers

Key Value Description
Content-Type application/json 요청 본문이 JSON 형식임을 지정

Request

{
    "email": "[email protected]",
    "password": "test123"
}

Response

Success (201 Created):

{
   "accessToken": "jwt-access-token",
   "refreshToken": "jwt-refresh-token"
}

**Exception **

  • 401 Unauthorized: 이메일 또는 비밀번호가 잘못된 경우
{
  "success": false,
  "timestamp": "2023-02-22T06:25:08.663Z",
  "status": 401,
  "message": "이메일 또는 비밀번호가 잘못되었습니다",
  "path": "경로"
}
  • 400 Bad Request: 이메일 또는 비밀번호가 누락된 경우
{
  "success": false,
  "timestamp": "2023-02-22T06:25:08.663Z",
  "status": 401,
  "message": "이메일 또는 비밀번호가 누락되었습니다",
  "path": "경로"
}

[POST] 로그아웃 /auth/sign-out

Headers

Key Value Description
Authorization Bearer jwt-access-token JWT 인증을 위한 액세스 토큰

Request

No request body required

Response

Success (200 OK):

{
   "data": true
}

[PATCH] 이메일 인증 /auth/verify-email

Headers

Key Value Description
Content-Type application/json 요청 본문이 JSON 형식임을 지정

Request

{
    "email": "[email protected]",
    "verificationCode": "123456"
}

Response

Success (200 OK):

{
   "data": true
}

Home

🏠 Home

📜 API 명세서

📊 ERD (Entity Relationship Diagram)

아래는 프로젝트 데이터베이스 설계 ERD입니다:

📖 Rule

Clone this wiki locally