Authentifizierung
Altium Identity ist Altiums OAuth 2.0 und OpenID Connect (OIDC) Identity-Provider. 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 jeder Anfrage und jeder Antwort finden Sie auf GitHub — diese Seite erklärt die Konzepte, damit Sie wissen, welchen Weg Sie wählen müssen.
Token-Begriffe
Das kommerzielle Altium 365-Angebot wird über vier geografische Regionen hinweg betrieben:
Begriff |
Beschreibung |
Global access token |
Ein Token auf Benutzerebene, das Sie nach der Anmeldung mit den |
Workspace access token |
Ein Token, das ü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 gleich — nur how wie Sie den Autorisierungscode erhalten, unterscheidet sich (eine Umleitung, die Ihre App hostet, oder das von Altium gehostete ActionWait Muster für Apps, die dies nicht hosten können). In jedem Fall gilt:
-
Sign in on Commercial Cloud (
https://auth.altium.com), um ein global access token zu erhalten. Verwenden Sie es für globale Ressourcen, etwa 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 Endpunkt, der zum Workspace passt (Commercial oder Gov Cloud — siehe unten).
-
Call the Altium 365 API mit dem Workspace-Token, und aktualisieren Sie es am Endpunkt, 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 Aussteller-Endpunkt aktualisiert.
Commercial Cloud und Gov Cloud
Altium 365 wird in zwei strikt getrennten Umgebungen betrieben:
-
Commercial Cloud (
auth.altium.com) — die Standardumgebung. -
Gov Cloud (
auth.365-gov.altium.com) — eine isolierte Umgebung für ITAR-/regulierte Workspaces.
Der Aussteller eines Tokens (iss) kennzeichnet, 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 Gov Cloud abgelehnt. Gov Cloud erzwingt dies mit einem two-token model — ein Gov-Workspace-Token enthält einen secure Marker, der es an Gov Cloud bindet. Sie melden sich einmal bei Commercial Cloud an und tauschen dann Ihr globales Token für jedes Workspace-Token in der Umgebung aus, zu der dieser Workspace gehört.
Welchen Ablauf brauche ich?
Ihre Anwendung |
Ablauf |
Anleitung |
| Web or server App, die einen HTTPS-Redirect-Endpunkt hosten kann | Authorization-Code-Redirect-Ablauf |
Web- & Server-Apps |
Desktop, on-prem, or native App, die keinen Redirect hosten kann |
Browser-Anmeldung über das von Altium gehostete ActionWait Muster |
Desktop- & On-Prem-Apps |
Client-Bibliotheken
Sie müssen den Ablauf nicht von Hand 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 |