リフレッシュトークンの使用

リフレッシュトークンフローは、APIリクエストを認可するための、より安全な方法です。単一の長期有効な認証情報を直接使用する代わりに、リフレッシュトークンを短期有効なアクセストークンと交換します。そのアクセストークンの有効期限が切れたら、再度交換します。

このフローを使用するには、Admin → Developerでトークンを作成する際にrefresh tokenオプションを選択します。作成時に次の3つの値を受け取ります。

  • Client ID – 統合を識別します

  • Client secret – 交換リクエストを認証します

  • Refresh token – アクセストークンの取得に使用されます

These credentials are shown once. 3つすべてをコピーして安全に保管してください。Altium はこれらを保存せず、作成ページを離れた後に再表示することもできません。リフレッシュトークンとクライアントシークレットは、パスワードと同様に扱ってください。

リフレッシュトークンをアクセストークンに交換する

Altium Identity のトークンエンドポイントに POST リクエストを送信します。

Token Endpoint

レルム

URL

Altium 365

https://auth.altium.com/connect/token

Altium 365 Gov Cloud

https://auth.365-gov.altium.com/connect/token

Request Bodyapplication/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}"

アプリケーションへの統合

長時間実行される統合における一般的なパターン:

  1. リフレッシュトークン、クライアントID、クライアントシークレットを安全に保管します(例: 環境変数またはシークレットマネージャー)。

  2. 起動時に、トークンエンドポイントを呼び出して新しいアクセストークンを取得します。

  3. APIリクエストにはアクセストークンを使用します。有効期限が切れるまでキャッシュします。

  4. 有効期限切れ時(401 Unauthorized)に、リフレッシュトークンを再度交換して新しいアクセストークンを取得します。

リフレッシュトークンは、作成時に設定した有効期間の終了後に期限切れとなります(最長1年)。リフレッシュトークンの有効期限が切れた場合は、Admin → Developer で新しいものを作成する必要があります。

関連項目

 

AI-LocalizedAI で翻訳
問題が見つかった場合、文字/画像を選択し、Ctrl + Enter キーを押してフィードバックをお送りください。
コンテンツ