https:\//api.iamport.kr/users/getToken
을 통해 액세스 토큰(access token)을 발급받을 수 있습니다.서버사이드에서 토큰 발급하기
REST API키
와 REST API Secret
이 노출되어 보안상 안전하지 않기 때문에 토큰 발급 요청은 반드시 서버사이드에서 수행해야합니다.https:\//api.iamport.kr/users/getToken
에 대해 요청을 생성합니다. curl -H "Content-Type: application/json" POST -d '{"imp_key": "REST API키", "imp_secret":"REST API Secret"}' https://api.iamport.kr/users/getToken
https:\//api.iamport.kr/users/getToken
에 대해 imp_key: "REST API 키"
, imp_secret: "REST API secret"
를 포함하여 POST
요청을 생성합니다. REST API 키 & REST API secret 확인하기
REST API 키
와 REST API Secret
을 통해 인증이 완료되면 응답에 포함된 액세스 토큰(access token)을 획득할 수 있습니다. {
"code": 0,
"message": null,
"response":{
"access_token": "a9ace025c90c0da2161075da6ddd3492a2fca776",
"now": 1512446940,
"expired_at": 1512448740,
},
}
access_token
속성의 값이 액세스 토큰(access token)입니다. expired_at
속성은 토큰의 만료기한을 의미하며 unix timestamp로 표현됩니다(KST 기준). 발행된 액세스 토큰은 만료기한이 지난 경우 새로운 토큰을 발급받아 사용해야 합니다. now
속성의 값은 아임포트 REST API 서버의 현재 시각을 나타내며, 해당 값으로 가맹점 서버와의 시간 오차를 파악할 수 있습니다.기준 NTP서버
Authorization: Bearer <token>
형식으로 HTTP 요청 헤더에 포함합니다. Authorization: Bearer a9ace025c90c0da2161075da6ddd3492a2fca776
와 같은 형식으로 작성할 수 있습니다.
다음은 거래 내역 상세 조회 API에 대한 요청 예시 입니다. curl -H "Content-Type: application/json" -H "Authorization: Bearer a9ace025c90c0da2161075da6ddd3492a2fca776" https://api.iamport.kr/payments/imp_448280090638
https:\//api.iamport.kr/payments/{imp_uid}
에 대한 요청에서 Authorization
헤더에 Bearer
타입으로 발행된 액세스 토큰을 작성했습니다.401 Unauthorized
응답을 받게됩니다.https:\//api.iamport.kr/users/getToken
에 대해 요청을 생성하여 액세스 토큰(access token)을 발급받으려 할 때, 기존에 발행된 액세스 토큰이 없거나 만료기한이 지난 상태일 경우에는 아임포트 REST API서버는 새로운 액세스 토큰을 발행해 응답합니다. 이때 발행된 액세스 토큰의 만료기한은 발행 시간으로부터 30분 후 입니다.https:\//api.iamport.kr/users/getToken
에 대해 요청을 생성하여 액세스 토큰(access token)을 발급받으려 할 때, 이전에 발행한 액세스 토큰이 아직 유효한 상태(토큰의 만료기한이 지나지 않은 상태)라면 아임포트 REST API서버는 기존에 발행한 액세스 토큰을 응답합니다.
만료기한 이전 요청에 대한 토큰의 만료기한(expired_at
)은 기존 토큰 발급시의 만료 기한과 동일합니다. 하지만 예외적으로 기존 액세스 토큰의 만료기한으로부터 1분 이내(_만료기한 1분 전부터 만료기한까지_)에 요청을 생성했을 때에는 기존의 만료 기한이 5분 연장됩니다.만료기한 5분 연장
/users/getToken
를 호출하는 상황