인증 (OAuth)

OAuth

CREMA API는 OAuth를 이용해 인증을 제공합니다. 인증 단계는 다음과 같습니다.

  1. API Key 발급: 크리마로부터 발급받아 공유받으신 APP_ID, SECRET 을 사용하세요. 한 번만 받으시면 됩니다.
  2. Access Token 발급받기.
    크리마 API의 인증 방식은 OAuth2.0의 Client Credentials를 사용하고 있습니다.
    참고 : https://oauth.net/2/, https://tools.ietf.org/html/rfc6749#section-1.3.4

API Key 발급

크리마에 요청하시면 APP_ID 와 SECRET 을 전달해드립니다.

Access Token 안내

API를 사용하기 위해서는 액세스 토큰이 필요합니다. Access Token은 크리마에서 제공한 API Key(app id와 secret)을 이용해서 발급 가능합니다.

Access Token 발급(Client Credentials)

API Key를 발급 받았다면 https://api.cre.ma/oauth/token 에 대한 POST 요청을 통해 Access Token을 발급받을 수 있습니다. 발급받으신 Access Token을 사용해 쇼핑몰의 리소스를 읽고 수정할 수 있습니다.

Example:

POST /oauth/token HTTP/1.1
Content-Type: application/x-www-form-urlencoded;charset=UTF-8

grant_type=client_credentials&client_id=$APP_ID&client_secret=$SECRET
curl --location --request POST 'https://api.cre.ma/oauth/token?grant_type=client_credentials&client_id=$APP_ID&client_secret=$SECRET'

Access Token 유효기간

발급 받은 Access Token은 60일 동안만 유효하고, 이후에는 해당 토큰을 사용하여 API를 호출할 수 없습니다.

  1. Access Token 발급시 반환되는 expires_in 데이터를 기반으로 만료되는 시점을 따로 기록해주세요. API 호출 전에 Access Token이 만료 되었다면, Access Token을 새로 발급 받고 호출하도록 해주세요. 만약 API 호출 결과 401 권한없음이 반환되면, Access Token을 재발급 받아서 재요청하도록 개발해주세요.

  2. API 호출 시점(UNIX TIME)에 expires_in 을 더하면 만료일을 알 수 있습니다.

Example:

{
  "access_token": "", #token 데이터
  "token_type": "Bearer", # 고정값
  "expires_in": 1556856, # 토큰이 만료되기까지의 잔여 기간
  "created_at": 1646706246 # 토큰 생성일(UNIX TIME)
}