-
Notifications
You must be signed in to change notification settings - Fork 0
로그인 (Auth) API
yanggwangseong edited this page Nov 20, 2024
·
7 revisions
Method | Endpoint | Description |
---|---|---|
POST | /sign-in | 사용자 로그인 |
POST | /sign-up | 사용자 회원가입 |
POST | /sign-out | 사용자 로그아웃 |
PATCH | /verify-email | 이메일 인증 토큰 검증 및 사용자 활성화 |
Key | Value | Description |
---|---|---|
Content-Type |
application/json |
요청 본문이 JSON 형식임을 지정 |
Authorization |
Basic base64(email:password) |
사용자 인증을 위한 Basic Auth 헤더 (Base64) |
{
"email": "[email protected]",
"password": "test123"
}
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": 400,
"message": "이메일 또는 비밀번호가 누락되었습니다",
"path": "경로"
}
Key | Value | Description |
---|---|---|
Content-Type |
application/json |
요청 본문이 JSON 형식임을 지정 |
{
"email": "[email protected]",
"password": "test123"
}
Success (201 Created):
{
"accessToken": "jwt-access-token",
"refreshToken": "jwt-refresh-token"
}
Exception
- 400 Bad Request: 이메일 또는 비밀번호가 누락된 경우
{
"success": false,
"timestamp": "2023-02-22T06:25:08.663Z",
"status": 400,
"message": "이메일 또는 비밀번호가 누락되었습니다",
"path": "경로"
}
- 409 Conflict: 이미 존재하는 이메일
{
"success": false,
"timestamp": "2023-02-22T06:25:08.663Z",
"status": 409,
"message": "이미 존재하는 이메일입니다",
"path": "경로"
}
Key | Value | Description |
---|---|---|
Authorization | Bearer jwt-access-token | JWT 인증을 위한 액세스 토큰 |
No request body required
Success (200 OK):
{
"data": true
}
Exception
- 401 Unauthorized: 토큰이 없거나 유효하지 않은 경우
{
"success": false,
"timestamp": "2023-02-22T06:25:08.663Z",
"status": 401,
"message": "토큰이 유효하지 않습니다",
"path": "경로"
}
Key | Value | Description |
---|---|---|
Content-Type |
application/json |
요청 본문이 JSON 형식임을 지정 |
{
"email": "[email protected]",
"verificationCode": "123456"
}
Success (200 OK):
{
"data": true
}
Exception
- 400 Bad Request: 필수 필드 누락
{
"success": false,
"timestamp": "2023-02-22T06:25:08.663Z",
"status": 400,
"message": "필수 필드 누락",
"path": "경로"
}
- 401 Unauthorized: 인증코드가 잘못되었을때
{
"success": false,
"timestamp": "2023-02-22T06:25:08.663Z",
"status": 401,
"message": "인증코드가 잘못되었을때",
"path": "경로"
}
- 404 Not Found: 해당 이메일을 가진 사용자가 없는 경우
{
"success": false,
"timestamp": "2023-02-22T06:25:08.663Z",
"status": 404,
"message": "해당 이메일을 가진 사용자가 없는 경우",
"path": "경로"
}
아래는 프로젝트 데이터베이스 설계 ERD입니다: