[미소 클론코딩 프로젝트] 2-9. 관리자 서비스 API 설계 - 관리자 인증/인가

2023. 8. 12. 14:11초기 과업/BackEnd

작성자알 수 없는 사용자

728x90
반응형

2023.08.12 - [초기 과업/BackEnd] - [미소 클론코딩 프로젝트] 2-8. 이용자 서비스 API 설계 - 협력업체 관리

 

 

안녕하세요. 기깔나는 사람들에서 백엔드를 맡고있는 황시아입니다.

지난 시간까지 이용자 서비스 API 설계를 해 보았습니다.

이번 시간부터는 관리자 서비스 API를 설계 해 보겠습니다.

 


관리자 인증/인가 API

관리자 서비스 접근 시 사용되는 API입니다.


로그인

Request

API 호출 방식

요청 URL 메서드
/api/administrators/auth/signin POST

 

Request Header

Request Header에 대한 상세는 다음과 같습니다.

파라미터 타입 필수 여부 설명
Content-Type String 필수 application/json 이어야 함

 

Request Elements

Request Elements에 대한 상세는 다음과 같습니다.

필드 상위 필드 타입 필수 여부 설명
administratorNumber   String 필수 관리자번호(사번)
password   String 필수 비밀번호

 

Request Syntax

curl -X POST http://{BASE_URL}/api/administrators/auth/signin \
    -H "Content-Type: application/json;charset=utf-8" \
    -d \
        '{\
            "administratorNumber": "관리자번호(사번)",\
            "password": "비밀번호"\
         }'

 

Response

Response Elements

Response Elements에 대한 상세는 다음과 같습니다.

필드 상위 필드 타입 필수 여부 설명
statusCode   Integer 필수 API 공통 가이드 - 공통 Response 참조
message   String 필수 API 공통 가이드 - 공통 Response 참조
data   Object 필수 토큰 정보
accessToken data String 필수 관리자 서비스 접근시 인증에 사용될 토큰
refreshToken data String 필수 액세스 토큰 갱신에 사용될 토큰
accessTokenExpiresIn data Integer 필수 액세스 토큰 만료 시간(초)

 

Response Syntax

{
    "statusCode": 200,
    "message": "성공",
    "data": {
        "accessToken" : "",
        "refreshToken" : "",
        "accessTokenExpiresIn": "1800"
    },
}

등록

Request

API 호출 방식

요청 URL 메서드
/api/administrators/auth/signup POST

 

Request Header

Request Header에 대한 상세는 다음과 같습니다.

파라미터 타입 필수 여부 설명
Content-Type String 필수 application/json 이어야 함

 

Request Elements

Request Elements에 대한 상세는 다음과 같습니다.

필드 상위 필드 타입 필수 여부 설명
administratorNumber   String 필수 사번

 

Request Syntax

curl -X POST http://{BASE_URL}/api/administrators/auth/signup \
    -H "Content-Type: application/json;charset=utf-8" \
    -d \
        '{\
            "administratorNumber": "관리자번호(사번)" \
         }'

 

Response

Response Elements

Response Elements에 대한 상세는 다음과 같습니다.

필드 상위 필드 타입 필수 여부 설명
statusCode   Integer 필수 API 공통 가이드 - 공통 Response 참조
message   String 필수 API 공통 가이드 - 공통 Response 참조

 

Response Syntax

{
    "statusCode": 200,
    "message": "성공"
}

초기 비밀번호는 사번과 동일하게 설정되며 최초 로그인 후 7일 이내에 변경해야 함

비밀번호 수정

Request

API 호출 방식

요청 URL 메서드
/api/administrators/password PATCH

 

Request Header

Request Header에 대한 상세는 다음과 같습니다.

파라미터 타입 필수 여부 설명
Authorization String 필수 Bearer {JWT_TOKEN} - {JWT_TOKEN} : 로그인 JWT 토큰
Content-Type String 필수 application/json이어야 함

 

Request Elements

Request Elements에 대한 상세는 다음과 같습니다.

필드 상위 필드 타입 필수 여부 설명
password   String 필수 변경할 비밀번호

 

Request Syntax

curl -X POST http://{BASE_URL}/api/administrators/password \
    -H "Content-Type: application/json;charset=utf-8" \
    -H "Authorization: Bearer {JWT_TOKEN}" \
    -d \
        '{\
            "password": "변경할 비밀번호" \
         }'

 

 

 

 

 

 

728x90
반응형