Refresh Token 사용하기
리프레시 토큰 흐름은 API 요청을 인증하는 더 안전한 방법입니다. 하나의 장기 유효 자격 증명을 직접 사용하는 대신, 리프레시 토큰을 짧은 수명의 액세스 토큰으로 교환합니다. 해당 액세스 토큰이 만료되면 다시 교환합니다.
이 흐름을 사용하려면 Admin → Developer에서 토큰을 생성할 때 refresh token 옵션을 선택합니다. 생성 시 다음 세 가지 값을 받게 됩니다:
-
Client ID – 통합을 식별합니다
-
Client secret – 교환 요청을 인증합니다
-
Refresh token – 액세스 토큰을 얻는 데 사용됩니다
리프레시 토큰을 액세스 토큰으로 교환하기
Altium Identity 토큰 엔드포인트로 POST 요청을 보냅니다.
Token Endpoint
영역 |
URL |
Altium 365 |
|
Altium 365 Gov Cloud |
|
Request Body (application/x-www-form-urlencoded)
grant_type=refresh_token
refresh_token={refresh-token}
client_id={client-id}
client_secret={client-secret}
Response
{
"access_token": "...",
"expires_in": 14400,
"token_type": "Bearer",
"refresh_token": "...",
"scope": "..."
}
응답의 access_token를 사용하여 API 요청을 인증합니다. expires_in는 초 단위이며 액세스 토큰이 유효한 기간을 나타냅니다.
curl Example:
curl -X POST https://auth.altium.com/connect/token \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "grant_type=refresh_token" \
--data-urlencode "refresh_token={refresh-token}" \
--data-urlencode "client_id={client-id}" \
--data-urlencode "client_secret={client-secret}"
애플리케이션에 통합하기
장시간 실행되는 통합의 일반적인 패턴:
-
리프레시 토큰, client ID, client secret을 안전하게 저장합니다(예: 환경 변수 또는 시크릿 관리자).
-
시작 시 토큰 엔드포인트를 호출하여 새 액세스 토큰을 가져옵니다.
-
API 요청에 액세스 토큰을 사용합니다. 만료될 때까지 캐시합니다.
-
만료 시(
401 Unauthorized), 리프레시 토큰을 다시 교환하여 새 액세스 토큰을 가져옵니다.
리프레시 토큰은 생성 시 구성한 유효 기간(최대 1년)이 지나면 만료됩니다. 리프레시 토큰이 만료되면 Admin → Developer에서 새로 생성해야 합니다.
참고 항목