Autenticazione
Altium Identity è il provider di identità OAuth 2.0 e OpenID Connect (OIDC) di Altium. La tua applicazione autentica un utente tramite Altium Identity e poi chiama l'API di Altium 365 per suo conto — senza mai gestire la password Altium dell'utente.
Le applicazioni eseguono l'accesso con il authorization-code flow e PKCE. I client pubblici (desktop, on-prem, nativi, applicazioni single-page) usano PKCE senza client secret; i client riservati (backend web/server) aggiungono un client secret. I flussi dettagliati, con ogni richiesta e risposta, si trovano su GitHub — questa pagina spiega i concetti, così sai quale percorso seguire.
Terminologia dei token
L'offerta commerciale di Altium 365 è distribuita in quattro regioni geografiche:
Termine |
Che cos'è |
Global access token |
Un token a livello utente che ricevi dopo l'accesso con gli ambiti |
Workspace access token |
Un token limitato a un singolo workspace tramite l'ambito |
| Refresh token | Emesso quando richiedi l'ambito |
Per l'anatomia completa di un token e delle sue attestazioni, vedi Tokens e OAuth Scopes.
Il percorso di accesso
Il percorso è lo stesso per le app web e desktop/on-prem — cambia solo il modo in cui how ottieni il codice di autorizzazione (un reindirizzamento ospitato dalla tua app, oppure il modello ActionWait ospitato da Altium per le app che non possono ospitarne uno). In ogni caso:
-
Sign in on Commercial Cloud (
https://auth.altium.com) per ottenere un global access token. Usalo per risorse globali come l'elenco dei workspace dell'utente. -
Discover the user's workspaces con il token globale.
-
Exchange the global token for a workspace access token, nell'endpoint corrispondente al workspace (Commercial o Gov Cloud — vedi sotto).
-
Call the Altium 365 API con il token del workspace, aggiornandolo nell'endpoint che lo ha emesso.
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)
Un'app in genere mantiene contemporaneamente diversi token — un token globale più un token del workspace per ogni workspace in uso. Ognuno viene aggiornato nel proprio endpoint di emissione.
Commercial Cloud e Gov Cloud
Altium 365 opera in due ambienti rigorosamente separati:
-
Commercial Cloud (
auth.altium.com) — l'ambiente predefinito. -
Gov Cloud (
auth.365-gov.altium.com) — un ambiente isolato per workspace ITAR/regolamentati.
L'emittente di un token (iss) identifica quale ambiente lo ha generato, e i due non sono mai intercambiabili: un token Gov viene rifiutato dai servizi Commercial e un token Commercial viene rifiutato da Gov Cloud. Gov Cloud applica questa separazione con un two-token model — un token Gov di workspace contiene un marcatore secure che lo vincola a Gov Cloud. Esegui l'accesso una sola volta su Commercial Cloud, poi scambi il tuo token globale con ciascun token di workspace nell'ambiente proprietario di quel workspace.
Di quale flusso ho bisogno?
La tua applicazione |
Flusso |
Guida |
| Web or server app che può ospitare un endpoint di reindirizzamento HTTPS | Flusso con reindirizzamento del codice di autorizzazione |
App web e server |
Desktop, on-prem, or native app che non può ospitare un reindirizzamento |
Accesso dal browser tramite il modello ActionWait ospitato da Altium |
App desktop e on-prem |
Librerie client
Non devi implementare manualmente il flusso. Altium mantiene librerie open-source basate su una specifica indipendente dal linguaggio e validate da una suite di conformità condivisa:
Linguaggio |
Documentazione di riferimento |
| TypeScript | Libreria TypeScript |
| .NET | Libreria .NET |