본 포스트 시리즈는 Joom for Merchants API의 공식 레퍼런스를 번역한 문서입니다.
(출처: https://docs.merchant.joom.com/)
Joom for Merchants API
Joom for Merchants API Joom for Merchants is a service for sellers working on Joom. This service allows merchants to manage their inventory and fulfill...
docs.merchant.joom.com
Joom은 더 나은 보안을 제공하기 위해 oAuth 인증을 사용합니다. 누구도 먼저 자신을 인증하고 귀하의 허가를 받지 않고는 API를 통해 귀하의 데이터에 액세스 할 수 없습니다.
간단히 말해, 이것은 FaceBook / WeChat 계정으로 일부 웹사이트에 로그인 하기 위해 통과하는 것과 동일한 보안 인증 프로세스입니다.
용어
이 가이드를 읽는 동안 숙지해야 할 용어는 다음과 같습니다.
- App 또는 Client: Joom의 판매자 데이터에 액세스하려는 모든 application을 의미합니다.
- User: Joom의 판매자 계정을 가지고 있는 사람을 의미합니다. 데이터에 액세스 할 수 있도록 App 또는 Client에 권한을 부여하는 사람입니다.
- Access Token: App 또는 Client가 사용자 데이터에 액세스 할 때 자신을 식별하는 데 사용하는 Joom에서 App 또는 Client 별로 생성한 고유의 문자열입니다.


이 프로토콜에 대한 자세한 내용은 oAuth 2.0 사양을 참조하세요.
이제 본격적인 oAuth 인증방법에 대해 설명하겠습니다.
1단계: 앱에 대한 액세스 권한 부여 및 인증
GET /oauth/authorize
Joom Platform의 Merchant Panel에서 App을 만들고 Client ID와 Client Secret을 복사합니다 (나중에 필요함.)

다음 URL의 “client_id”를 App의 Client ID로 대체하고, 다음 URL로 사용자를 안내합니다.
이전에 로그인한적이 없다면 링크를 따라 로그인을 합니다.

“Grant Access”를 클릭하여 권한을 부여합니다.

2단계: 인증코드 받기
앱에 권한을 부여하면 Joom이 App을 만들 때 지정한 Redirection URL로 리다이렉션합니다.
이 request의 매개 변수 중 하나는 “Authorization-Code”입니다.
https://example.redirect.com?code={authorization_code}
이제 이 Authorization-Code를 Access Token으로 교환할 수 있습니다.
(Authorization-Code는 발행 후 5분 뒤 만료되며, 오직 한 번만 사용할 수 있습니다.)
3단계: 액세스 토큰 받기
POST /oauth/access_token
Joom은 App을 인증하고 권한 부여를 확인하고 유요한 경우 Access Token을 발급합니다.
파라미터를 “x-www-form-urlencoded Content-Type”으로 request body에 포함시켜 보냅니다.


4단계: 인증된 Request만들기
App은 Joom에서 보호된 리소스를 request하고 Access Token을 제공하여 인증합니다.
인증된 request를 만들기 위해선, 다음을 request header에 추가합니다.
Authorization: Bearer {access_token}
Joom은 Access Token의 유효성을 검사하고 유효한 경우 request를 처리합니다.
또는 request body의 파라미터로 Access Token을 포함시킬 수 있습니다.
다음 엔드 포인트를 사용하여 Access Token을 테스트 할 수 있습니다.
https://api-merchant.joom.com/api/v2/auth_test
만료된 토큰 새로고침
POST /oauth/refresh_token
Access Token은 일정 시간이 지나면 만료됩니다.
전체 oAuth 프로세스를 다시 거치지 않아도, “refresh_token”을 통해 새 Access Token을 발급할 수 있습니다.
(refresh_token은 Access Token 발행 당시의 Response에 포함되어있습니다.)
파라미터를 “x-www-form-urlencoded Content-Type”으로 request body에 포함하여 보냅니다.


Access Token 테스트
Access Token이 만료되었는지 여부가 확실하지 않은 경우 다음 엔드 포인트를 사용하여 Access Token을 테스트 할 수 있습니다.
https://api-merchant.joom.com/api/v2/auth_test
'SW > Joom API' 카테고리의 다른 글
[Joom API v3] 2. Products (0) | 2021.11.21 |
---|---|
[Joom API v3] 1. Getting Started (0) | 2021.11.21 |
[Joom API v2] 3. Product (0) | 2021.11.21 |
[Joom API v2] 1. Getting Started (0) | 2021.11.21 |