トークン
トークンは、Altium 365 API へのリクエストを認可するために使用される認証情報です。すべての API リクエストには、Authorization ヘッダーに有効なトークンを含める必要があります。
トークンは、Workspace の Admin → Developer で作成します。トークンを作成できるのは Workspace 管理者のみです。
トークンの種類
利用可能なトークンには 2 種類あり、使用方法とセキュリティ上のトレードオフが異なります。
長期有効アクセストークン
API リクエストでベアラートークンとして直接使用する単一の認証情報です。有効期間は作成時に設定でき、最長 1 年です。
Authorization: Bearer {token}
これはよりシンプルな選択肢です。1 つの値をそのまま直接使用します。使いやすさが認証情報のローテーションよりも重視されるスクリプト、自動化、ローカル開発に適しています。
主な制限は、トークン値が有効期間中ずっと変わらないことです。漏えいした場合、有効期限が切れるか手動で失効されるまで有効なままになります。
リフレッシュトークン
API リクエストで使用する短期有効の認証情報と、長期有効の認証情報を分離する、より安全な選択肢です。作成時に、次の 3 つの値を受け取ります。
-
Client ID – トークンクライアントを識別します
-
Client secret – トークンクライアントを認証します
-
Refresh token – 長期有効の認証情報
これらを使用して、トークンエンドポイントを呼び出すことで短期有効の access token と交換します。アクセストークンが API リクエストで使用するものです。これが期限切れになったら、同じリフレッシュトークンを使って新しいものを要求します。
リフレッシュトークンの有効期間は作成時に設定でき、最長 1 年です。そこから生成されるアクセストークンは短期有効です。
このアプローチは、本番環境の統合により適しています。
-
すべての API リクエストで送信される認証情報(アクセストークン)が短期有効であること
-
長期有効のシークレット(リフレッシュトークン)は安全なストレージ内に保持され、API に直接送信されることがないこと
トークン交換フローについては、Using a Refresh Token を参照してください。
トークン種類の選択
|
長期有効アクセストークン |
リフレッシュトークン |
認証情報の数 |
1 つ(アクセストークン) |
3 つ(クライアント ID + クライアントシークレット + リフレッシュトークン) |
API リクエストの認証情報 |
トークン自体 |
短期有効アクセストークン(交換によって取得) |
ローテーション |
手動 |
交換により自動 |
最適な用途 |
スクリプト、ローカル開発、テスト |
本番環境の統合 |
スコープ
すべてのトークンには、そのトークンで認可できる API 操作を定義する OAuth scopes のセットが関連付けられています。スコープはトークン作成時に設定され、その後は変更できません。
利用可能なスコープの全一覧と、それらが API 機能にどう対応するかについては、OAuth Scopes を参照してください。
トークンの有効期間
どちらのトークン種類も、有効期間は作成時に設定され、最長 1 年です。自動更新はありません。トークンの有効期限が切れたら、新しいトークンを作成する必要があります。
リフレッシュトークンの場合、この有効期間はリフレッシュトークン自体に適用されます。そこから生成されるアクセストークンには、より短い固定の有効期間があります。
トークンの失効
トークンは Admin → Developer からいつでも失効できます。トークンを失効すると、そのトークンは直ちに無効になり、そのトークンを使用する API リクエストはすべて認可エラーで失敗します。