Authentifizierung
Altium Identity ist Altiums OAuth 2.0 und OpenID Connect (OIDC) Identitätsanbieter. Ihre Anwendung authentifiziert einen Benutzer über Altium Identity und ruft anschließend die Altium 365 API in dessen Namen auf — sie verarbeitet dabei niemals das Altium-Passwort des Benutzers.
Anwendungen melden sich mit dem authorization-code flow und PKCE an. Öffentliche Clients (Desktop-, On-Prem-, native und Single-Page-Apps) verwenden PKCE ohne Client-Secret; vertrauliche Clients (Web-/Server-Backends) ergänzen ein Client-Secret. Die Schritt-für-Schritt-Abläufe mit sämtlichen Requests und Responses finden Sie auf GitHub — diese Seite erläutert die Konzepte, damit Sie wissen, welchen Weg Sie wählen sollten.
Token-Begriffe
Das kommerzielle Altium 365-Angebot läuft in vier geografischen Regionen:
Begriff |
Was es ist |
Global access token |
Ein Token auf Benutzerebene, das Sie nach der Anmeldung mit den |
Workspace access token |
Ein auf einen einzelnen Workspace beschränktes Token über den |
| Refresh token | Wird ausgestellt, wenn Sie den |
Die vollständige Struktur eines Tokens und seiner Claims finden Sie unter Tokens und OAuth Scopes.
Der Anmeldeablauf
Der Ablauf ist für Web- und Desktop-/On-Prem-Apps identisch — nur how wie Sie den Authorization Code erhalten, unterscheidet sich (eine von Ihrer App gehostete Weiterleitung oder das von Altium gehostete ActionWait -Muster für Apps, die keine Weiterleitung hosten können). In jedem Fall:
-
Sign in on Commercial Cloud (
https://auth.altium.com), um ein global access token zu erhalten. Verwenden Sie es für globale Ressourcen, z. B. zum Auflisten der Workspaces des Benutzers. -
Discover the user's workspaces mit dem globalen Token.
-
Exchange the global token for a workspace access token, am Endpoint, der dem Workspace entspricht (Commercial oder GovCloud — siehe unten).
-
Call the Altium 365 API mit dem Workspace-Token, und aktualisieren Sie es am Endpoint, der es ausgestellt hat.
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)
Eine App hält üblicherweise mehrere Tokens gleichzeitig — ein globales Token plus ein Workspace-Token pro verwendetem Workspace. Jedes wird an seinem eigenen ausstellenden Endpoint aktualisiert.
Commercial Cloud und GovCloud
Altium 365 läuft in zwei strikt getrennten Umgebungen:
-
Commercial Cloud (
auth.altium.com) — die Standardumgebung. -
GovCloud (
auth.365-gov.altium.com) — eine isolierte Umgebung für ITAR-/regulierte Workspaces.
Der Aussteller eines Tokens (iss) gibt an, in welcher Umgebung es erzeugt wurde, und die beiden sind niemals austauschbar: Ein Gov-Token wird von Commercial-Diensten abgelehnt, und ein Commercial-Token wird von GovCloud abgelehnt. GovCloud erzwingt dies mit einem two-token model — ein Gov-Workspace-Token trägt einen secure Marker, der es an GovCloud bindet. Sie melden sich einmal in der Commercial Cloud an und tauschen dann Ihr globales Token in das jeweilige Workspace-Token in der Umgebung um, zu der dieser Workspace gehört.
Welchen Ablauf benötige ich?
Ihre Anwendung |
Ablauf |
Anleitung |
| Web or server App, die einen HTTPS-Weiterleitungs-Endpoint hosten kann | Authorization-Code-Redirect-Flow |
Web- & Server-Apps |
Desktop, on-prem, or native App, die keine Weiterleitung hosten kann |
Browser-Anmeldung über das von Altium gehostete ActionWait -Muster |
Desktop- & On-Prem-Apps |
Client-Bibliotheken
Sie müssen den Ablauf nicht manuell implementieren. Altium pflegt Open-Source-Bibliotheken, die auf einer sprachneutralen Spezifikation basieren und durch eine gemeinsame Konformitätssuite validiert werden:
Sprache |
Referenzdokumentation |
| TypeScript | TypeScript-Bibliothek |
| .NET | .NET-Bibliothek |