認証

Altium Identity は、Altium の OAuth 2.0 および OpenID Connect (OIDC) の ID プロバイダーです。アプリケーションは Altium Identity を通じてユーザーを認証し、その後ユーザーに代わって Altium 365 API を呼び出します。つまり、ユーザーの Altium パスワードをアプリケーションが扱うことはありません。

アプリケーションは authorization-code flow および PKCE を使用してサインインします。パブリッククライアント(デスクトップ、オンプレミス、ネイティブ、シングルページアプリ)はクライアントシークレットなしで PKCE を使用します。コンフィデンシャルクライアント(Web/サーバーバックエンド)はクライアントシークレットを追加します。すべてのリクエストとレスポンスを含むステップごとのフローは GitHub にあります。このページでは、どの方法を選ぶべきか判断できるよう、概念を説明します。

Full flows, code, and libraries → Altium 365 Auth on GitHub. GitHub プロジェクトが信頼できる正式な情報源です。言語に依存しない仕様、共有の適合性テストスイート、そして TypeScript と .NET 向けの各言語に適したクライアントライブラリが含まれています。

トークン用語集

商用版の Altium 365 は、4 つの地理リージョンで提供されています。

用語

概要

Global access token

 スコープでサインインした後に受け取るユーザーレベルのトークンです。ユーザーがアクセスできるワークスペースを確認するために使用します。

Workspace access token

 スコープを通じて単一のワークスペースに限定されたトークンです。そのワークスペースに対する Altium 365 API 呼び出しに使用します。

Refresh token

 スコープを要求したときに発行されます。ユーザーに再度サインインを求めることなく、新しいアクセストークン(グローバルまたはワークスペース)を取得するために使用します。

トークンの完全な構造とそのクレームについては、 Tokens および OAuth Scopes を参照してください。

サインインの流れ

この流れは、Web アプリでもデスクトップ/オンプレミスアプリでも同じです。異なるのは、認可コードを取得する how 方法だけです(アプリがホストするリダイレクト、またはそれをホストできないアプリ向けの Altium ホスト型 ActionWait パターン)。いずれの場合も次の手順になります。

  1. Sign in on Commercial Cloud (https://auth.altium.com) して global access token を取得します。これは、ユーザーのワークスペース一覧取得などのグローバルリソースに使用します。

  2. Discover the user's workspaces をグローバルトークンで実行します。

  3. Exchange the global token for a workspace access tokenワークスペースに対応するエンドポイント(Commercial または GovCloud — 下記参照)で します。

  4. Call the Altium 365 APIワークスペーストークンで し、それを発行したエンドポイントで更新します。

sequenceDiagram
    participant App
    participant Identity as Altium Identity
    participant API as Altium 365 API
    App->>Identity: 1. Sign in on auth.altium.com (openid profile) + PKCE
    Identity-->>App: global access token
    App->>API: 2. Discover workspaces (global token)
    API-->>App: workspaces (+ location)
    App->>Identity: 3. Exchange for a workspace token
    Identity-->>App: workspace access token (+ refresh token)
    App->>API: 4. API calls (workspace access token)

アプリは通常、複数のトークンを同時に保持します。1 つのグローバルトークンに加え、使用中の各ワークスペースごとに 1 つのワークスペーストークンを持ちます。それぞれは自身を発行したエンドポイントで更新されます。

Skip the discovery step. ユーザーが特定のワークスペースに入るべきことがあらかじめ分かっている場合、任意の selectWorkspace パラメーターにより、ユーザーにサインインduring 前にワークスペースの選択を促し、コード交換によってワークスペーススコープのトークンを直接返すことができます。詳しくは「ワークスペースへのログインモード」を参照してください。

Commercial Cloud と GovCloud

Altium 365 は、厳密に分離された 2 つの環境で動作します。

  • Commercial Cloud (auth.altium.com) — デフォルト環境です。

  • GovCloud (auth.365-gov.altium.com) — ITAR/規制対象ワークスペース向けの分離環境です。

トークンの発行者 (iss) によって、そのトークンがどの環境で発行されたかが識別されます。この 2 つに互換性はありません。Gov トークンは Commercial サービスでは拒否され、Commercial トークンは GovCloud では拒否されます。GovCloud はこれを two-token model で強制します。Gov ワークスペーストークンには、GovCloud に結び付ける secure マーカーが含まれます。サインインは Commercial Cloud 上で一度行い、その後、各ワークスペースを所有する環境でグローバルトークンを各ワークスペーストークンに交換します。

どのフローが必要ですか?

アプリケーション

フロー

ガイド
Web or server HTTPS リダイレクトエンドポイントをホストできるアプリ

認可コード・リダイレクトフロー

Web およびサーバーアプリ

Desktop, on-prem, or native リダイレクトをホストできないアプリ

Altium ホスト型 ActionWait パターンを使ったブラウザサインイン

デスクトップおよびオンプレミスアプリ

クライアントライブラリ

フローを手作業で実装する必要はありません。Altium は、言語に依存しない 1 つの仕様に基づき、共有の適合性テストスイートで検証されたオープンソースライブラリを提供しています。

言語

リファレンスドキュメント

TypeScript TypeScript ライブラリ
.NET .NET ライブラリ

詳細情報

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