※ 명세에 설명되어있지 않은 상태 코드나 데이터가 나왔다면 바로 알려주세요!
API 타이틀은 제목 3
으로 한다.
Route(주소) | /part1/part2/:param1?query1={type} |
---|---|
API 목적 | 해당 API가 무슨 목적으로 만들어졌는지 설명한다. |
Param | Param 타입 및 설명 작성 (없으면 없음 으로 작성.) |
Query | Query 타입 및 설명 작성 (없으면 없음 으로 작성.) |
Body | Body 구조 및 설명 작성 (없으면 없음 으로 작성.) |
성공 시 응답 | success1: 설명 |
data1: 구조 작성 (없으면 없음 으로 작성.) |
|
실패 시 응답 | failure1: 설명 |
data1: 구조 작성 (없으면 없음 으로 작성.) |
Route(주소) | GET /api/auth/oauth/github |
---|---|
API 목적 | Github OAuth 로그인 과정을 시작한다. |
<a> 형식으로 접근 시 github 권한 허가 여부 페이지가 발생하며, |
|
허가 시 OAuth 절차에 따라 Access Token 발급 후 Session에 User 데이터를 저장한다. | |
완료 시 Root 페이지로 이동한다. | |
Param | 없음 |
Query | 없음 |
Body | 없음 |
성공 시 응답 | 요청시 302 와 함께 OAuth 권한을 허락받기 위한 페이지 주소를 받는다. |
실패 시 응답 | 실패 시 ‘/’으로 리다이렉션을 한다. |
※ Issue:
axios로 요청하여 이동할 링크를 받아온 뒤 해당 주소로 직접 접근을 시도하면 CORS 오류가 발생한다. 원인 파악 중. (<a> 태그로 접근 시 정상적인 로그인 가능)
→ axios 특성 상, 302
등의 리다이렉션 상태코드를 받으면 이와 함께 받은 주소로 자동으로 재요청을 보낸다. maxRedirects
라는 옵션이 존재하긴 하나, 브라우저에서 axios
를 사용하는 경우 해당 옵션은 무효화된다. 웬만하면 a 태그로 직접 접근할 것.
Route(주소) | PUT /api/auth/logout |
---|---|
API 목적 | 로그아웃을 시도한다. |
로그아웃 요청 시 세션을 파기하여 로그인 정보를 삭제한다. | |
Param | 없음 |
Query | 없음 |
Body | 없음 |
성공 시 응답 | 200 : 로그아웃 완료 |
실패 시 응답 | 401 : 비로그인 유저가 로그아웃을 시도함. |
Route(주소) | GET /api/auth/status |
---|---|
API 목적 | 로그인 여부를 확인한다. |
Param | 없음 |
Query | 없음 |
Body | 없음 |
성공 시 응답 | 200 : 현재 로그인 상태 |
실패 시 응답 | 401 : 현재 비로그인 상태 |