🖇️REST API Access Token
Access Token 을 발급하는 방법을 설명합니다.
Last updated
Access Token 을 발급하는 방법을 설명합니다.
Last updated
결제 정보와 같은 사적 리소스(private resource)에 대한 접근 권한을 얻으려면 가맹점은 access token을 발급 받아서 포트원 REST API 요청에 포함해야 합니다.
서버 사이드에서 토큰 발급하기
Access token 발급 요청을 클라이언트 사이드에서 하면 요청 시 필요한 REST API
키
와 REST API Secret
이 노출되어 보안상 안전하지 않기 때문에 토큰 발급 요청은 반드시 서버 사이드에서 해야합니다.
관리자 콘솔에서 확인한 **REST API 키
**와 **REST API Secret
**로 REST API(POST https://api.iamport.kr/users/getToken)를 호출하여 access token 발급을 요청하는 예제입니다.
발급 요청에 대한 응답으로 access token 을 받을 수 있습니다.
기준 NTP서버
포트원 REST API 서버는 Google Public NTP 를 이용하여 기준시간과 동기화하고 있습니다.
발급받은 access token을 사용하여 포트원 REST API 요청을 할 수 있습니다. 포트원 REST API는 Bearer 인증 방식을 사용하기 때문에 HTTP 요청 헤더에 access token을 다음과 같은 형식으로 포함합니다.
Authorization: Bearer a9ace025c90c0da2161075da6ddd3492a2fca776
Access token을 헤더에 포함하여 결제 상세 내역 조회 API 를 요청을 하는 예제입니다
Access token의 만료기한은 발행 시간부터 30분입니다. 토큰은 만료기한이 지나면 사용할 수 없습니다. 만료된 토큰으로 API 요청을 하면 401 Unauthorized
응답을 받습니다.
재발행 (만료 후 발급): 새로운 access token을 발급한다. (만료기한: 발행시간 후 30분)
재사용 (만료 전 발급): 기존 access token을 발급한다. (만료기한: 기존과 동일, 단 기존 만료시간 전 1분이내 요청 시 5분 연장 됨)
만료기한 5분 연장
Access token의 재사용과 만료기한 5분 연장 동작방식은 다음과 같은 상황을 고려해서 설계되었습니다.
한 가맹점에서 여러 대의 웹서버가 동시에 경쟁적으로 REST API(/users/getToken
)를 호출하는 상황
한 가맹점에서 여러 대의 웹서버가 시간 동기화 되어있지 않은 상황