YouTube

카페24 api 정리, access token, refresh token

벨포트조던 2024. 4. 18.
반응형

카페24 API 사용 순서정리

 

 

요약 순서

1. 앱을 생성한다 ( 실제 어플리케이션이 아니고, 카페24에서 관리하는 app 을 이렇게 표현 )

https://developers.cafe24.com/admin/apps/front/manage

 

2. Oauth 기반의 인증 시스템을 가지고 있어서, 인증코드를 생성하는 방법을 확인

https://developers.cafe24.com/app/front/app/develop/oauth/retoken

 

3. 생성된 인증코드, 리프레시 토큰, 엑세스 토큰을 관리할 방법을 정의 한다. 

 

 

위는 간단 요약이고 .... 프로세스가 나름 좀 복잡하다 . ( 결국 oauth 이긴한데, 약간 사용법을 습득해야함 .. ) 

 

자세한 프로세스 

1. 앱생성시 리다이렉트를 지정. 권한 선택을 해야한다 ( 필요한 것들을 지정 ) 

이 후 실행

2. https://developers.cafe24.com/app/front/app/develop/oauth/oauthcode

인증토큰 요청시, postman 으로 하면 안되고, 브라우저 url에 입력해야한다. 입력하면 로그인하고, 권한 요청하면 리다이렉트로 이동하고 url 에 인증토큰을 알려준다

인증토큰 요청시 권한scope 를 입력하는데, 이게 app 에서 지정한 권한이다. ( 신규로 다른권한을 추가하면 인증토큰을 다시 받아야한다) 

 

이걸로 access 토큰을 발급 받을 수 있다 

 

인증토큰으로 

액세스 토큰 Request

  • 액세스 토큰은 RESTful API 형태로 요청하실 수 있습니다.
MethodResource URIFormat
POST https://{mall_id}.cafe24api.com/api/v2/oauth/token x-www-form-urlencoded

액세스 토큰 Request 형식

curl -X POST
'https://{mall_id}.cafe24api.com/api/v2/oauth/token'
-H 'Authorization: Basic {base64_encode({client_id}:{client_Secret})}'
-H 'Content-Type: application/x-www-form-urlencoded'
-d 'grant_type=authorization_code'
-d 'code={authorization_code}'
-d 'redirect_uri={redirect_uri}'

 

를 발급받을 수 있고, 응답에 리프레시 토큰도 준다.

 

엑섹스는 2시간 만료라서 , 2시간이후는 다시 발급해야한다. 이때 리프레시 토큰을 이용해서, 다시 발급가능 ( 인증토큰을 또 발급안해도 됨 ) 

 

리프레시 토큰(만료일 14일)은 1회용이다. 리프레시 토큰으로 엑세스를 발급하면 다시 다른 리프레시토큰이 나오는데, 다음번엔 이걸로 써야한다.

즉, 재귀적으로 사용해야 한다는 말임 

 

 

인증코튼 발급 (인증토큰 생성) -> 인증토큰으로 억세스 토큰 발급 (억세스 토큰, 리프레시 토큰 생성) -> 억세스토큰은 2시간동안 계속 사용가능 -> 억세스토큰 만료 -> 리프레시 토큰으로 억세스 발급 ( 억세스 토큰, 리프레시 토큰 생성 )

 

이후 반복..이다 

 

 

 

 

참고문서

https://velog.io/@yl9517/Cafe24-Authentication-%EC%9D%B8%EC%A6%9D%EB%B6%80%ED%84%B0-API-%ED%98%B8%EC%B6%9C%EA%B9%8C%EC%A7%80

 

 

 Cafe24 restAPI docs 참고하기

Cafe24를 활용해야 할 상황이 왔다. 정보가 아무것도 없기에 Cafe24 API를 익히는 것이 우선이라고 판단하여 천천히 API 호출 테스트를 시도해보려고 한다.

문서를 살펴보면, 대부분 api를 호출하는데 "Authorization"이라는 헤더정보가 필수적이다.

앱 생성 부터 Authorization인증, API 호출까지 진행해보자.

앱 생성

  1. https://www.cafe24.com/ 대표운영자 회원가입
  2. https://developers.cafe24.com/ 로그인
  3. 앱 관리 - 앱 등록
  4. 정보 입력
    App URL과 code를 확인할 Redirect URI를 넣어주고, 확인할 API의 권한을 선택해준다.
    하단에 인증정보탭에 있는 Client ID와 Client Secret key는 따로 적어둘 것
  5. 테스트 실행
    테스트 실행 버튼 누르고 App URL에 입력했던 정보를 입력하고 테스트 페이지를 확인한다.
    기본 템플릿을 가진 화면이 나오며 잘 출력되는 것을 볼 수 있다.

이제 개발자센터 docs에 따라 인증부터 API호출까지 해보자.

그림으로 표현하자면 이렇게 경로가 이어진다.

  1. URL 접속
    https://{mallid}.cafe24api.com/api/v2/oauth/authorize?response_type=code&client_id={client_id}&state={state}&redirect_uri={redirect_uri}&scope={scope}
    나는 상품목록 조회를 테스트 할 거라 scope에 mall.read_product 값을 넣어주었다.

동의화면에서 동의 눌러주면 바뀐 URL에서 code를 확인 할 수 있다!

이 코드는 1분간만 유효하니, 시간이 지나면 다시 발급 받아야한다.

이제 postman을 통해 token를 발급받아보자
Authorization은 client ID : Client Secret Key를 base64로 인코딩한 값이다. (변환 사이트)

Headers에 Content-Type와 Authorization를 넣고
body에 grant_type, redirect_uri, 아까 발급받은 code를 넣어준다.

access_token 발급 완료

access_token은 2시간이 지나면 만료가 되므로 그땐 refresh_token으로 아래와 같이 또 다시 새로 access_token을 발급 받아야 한다.

상품 조회 API

access_token을 header에 넣어서 products를 조회해보자

결과가 잘 출력 되는 것을 볼 수 있다😀😀😀 성공!

 

 

 

 

 

 

 

 

반응형

댓글