시작하기
home
둘러보기
home

Admin API 인증

인증은 Basic, Bearer 인증 두가지를 제공하며. 일반적으로 Basic 인증에 클라이언트 아이디 / 클라이언트 시크릿 키를 이용 합니다. 클라이언트 아이디 / 클라이언트 시크릿 키는 POD Shop Admin 에서 확인 할 수 있습니다. Bearer 인증의 경우 클라이언트 아이디 / 클라이언트 시크릿 키 노출 방지를 위해 인증 값의 외부 노출이 필요한 경우 토큰을 발급받아 이용합니다.
목차

1. Basic 인증

Authorization: Basic base64({USERNAME}:{PASSWORD})
SQL
복사
Basic 인증 방식은 가장 기본적인 HTTP 인증 방식이에요. 인증 정보로 사용자 ID, 비밀번호를 사용해요. 
Base64로 인코딩한 “사용자ID:비밀번호” 문자열을 Basic과 함께 인증 헤더에 입력해요. 더 자세한 내용은 RFC 7617에 정의되어 있어요.
Base64는 쉽게 복호화할 수 있어요.
단순 base64 인코딩된 사용자 ID와 비밀번호를 HTTP로 전달하면 요청의 보안이 보장되지 않아요.
Basic 인증을 사용하는 요청은 꼭 HTTPS, SSL/TLS로 통신해야 안전해요.

1.1 인증 헤더

1.
API 정보 페이지 내에서 Client ID / Client Key 확인
2.
ClientID뒤에 :를 추가 하고 뒤에 Client Key 를 추가 후 base64 인코딩. 콜론을 빠트리지 않도록 주의.
base64('abcdefgsaasdf:XasddfajljdalsjfXFDAelo13savSDFsdf') _____________ __________________________________ Client ID Client 시크릿
Plain Text
복사
3.
아래 명령어로 터미널에서 실행시 인코딩 된 값을 얻을 수 있습니다.
echo -n 'abcdefgsaasdf:XasddfajljdalsjfXFDAelo13savSDFsdf' | base64
Shell
복사
4.
인코딩된 값을 API 의 Basic 인증헤더에 사용
Authorization : Basic YWJjZGVmZ3NhYXNkZjpYYXNkZGZhamxqZGFsc2pmWEZEQWVsbzEzc2F2U0RGc2Rm
Shell
복사

1.2 인증실패

클라이언트 아이디 / 클라이언트 시크릿 키 인증에 실패 할 경우
HTTP Status 401 을 응답 받습니다.

2. Bearer 인증

Authorization: bearer [Access Token]
SQL
복사
bearer 과 access_token을 인증 헤더에 입력하여 API 를 호출 해요.

2.1 Get Access Token

인증

1. Basic 인증 이용

POST /ac/oauth/ext/token

Authorization Header

Name
Type
Authorization
Basic
Client ID / Client Key base64 인코딩 값 (1.1 참조)
요청 예시
curl --location --request POST 'https://dev-api.pod.shop/ac/oauth/ext/token' --header 'Authorization: Basic YXJ0sdfY2xvdWQ6dfRDV4TEhFQ3lDdfaMWxoaEdsRDllc2dfZrc3JJNsGlLdzl1T1k='
Shell
복사

Response

Name
Type
access_token
String
엑세스 토큰
token_type
String
토큰 유형
expires_in
Number
엑세스 토큰 만료일자
refresh_token
String
리프레시 토큰
refresh_expires_in
Number
리프레시 토큰 만료 기간
응답 예시
{ "access_token": "......", "token_type": "bearer", "expires_in": 3599, "refresh_token": ".......", "refresh_expires_in": 1209599 }
JSON
복사

2.2 Get Access Token using refresh token

POST /ac/oauth/ext/token/refresh

Body Parameter

Name
Type
refreshToken
String
리프레시 토큰
요청 예시
curl --location --request POST 'https://dev-api.pod.shop/ac/oauth/external/abcdefg/refresh?refreshToken=[refreshTokenValue]' --header 'Authorization: Basic YXJ0sdfsdfY2xvdWQ6dfRDsdfV4TEhFQ3lDdfaMWxqweoaEdsRDllc2adfZrc3JJNqsGlLdzl1T1k='
Shell
복사

Response

Name
Type
access_token
String
엑세스 토큰
token_type
String
토큰 유형
expires_in
Number
엑세스 토큰 만료일자
refresh_token
String
리프레시 토큰
refresh_expires_in
Number
리프레시 토큰 만료 기간
응답 예시
{ "access_token": "......", "token_type": "bearer", "expires_in": 3599, "refresh_token": ".......", "refresh_expires_in": 1209599 }
JSON
복사

클라이언트 아이디 / 클라이언트 시크릿 확인

클라이언트 아이디 / 클라이언트 시크릿 : API 연동시 클라이언트 식별에 이용
클라이언트 시크릿은 외부 노출 되면 안됩니다. GitHub, 클라이언트 코드 등 외부에서 접근 가능한 곳에 추가하지 마세요.