リフレッシュトークンの使用
リフレッシュトークンフローは、APIリクエストを認可するための、より安全な方法です。単一の長期有効な認証情報を直接使用する代わりに、リフレッシュトークンを短期有効なアクセストークンと交換します。そのアクセストークンの有効期限が切れたら、再度交換します。
このフローを使用するには、Admin → Developerでトークンを作成する際にrefresh tokenオプションを選択します。作成時に次の3つの値を受け取ります。
-
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}"
アプリケーションへの統合
長時間実行される統合における一般的なパターン:
-
リフレッシュトークン、クライアントID、クライアントシークレットを安全に保管します(例: 環境変数またはシークレットマネージャー)。
-
起動時に、トークンエンドポイントを呼び出して新しいアクセストークンを取得します。
-
APIリクエストにはアクセストークンを使用します。有効期限が切れるまでキャッシュします。
-
有効期限切れ時(
401 Unauthorized)に、リフレッシュトークンを再度交換して新しいアクセストークンを取得します。
リフレッシュトークンは、作成時に設定した有効期間の終了後に期限切れとなります(最長1年)。リフレッシュトークンの有効期限が切れた場合は、Admin → Developer で新しいものを作成する必要があります。
関連項目