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.

Full flows, code, and libraries → Altium 365 Auth on GitHub. Il progetto GitHub è la fonte autorevole: specifica indipendente dal linguaggio, suite di conformità condivisa e librerie client idiomatiche per TypeScript e .NET.

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 openid profile . Usalo per scoprire a quali workspace può accedere l'utente.

Workspace access token

Un token limitato a un singolo workspace tramite l'ambito a365:workspace:{workspaceId} . Usalo per le chiamate API di Altium 365 verso quel workspace.

Refresh token

Emesso quando richiedi l'ambito offline_access . Usalo per ottenere un nuovo token di accesso — globale o del workspace — senza chiedere all'utente di accedere di nuovo.

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:

  1. 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.

  2. Discover the user's workspaces con il token globale.

  3. Exchange the global token for a workspace access token, nell'endpoint corrispondente al workspace (Commercial o Gov Cloud — vedi sotto).

  4. 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.

Skip the discovery step. Quando sai già che l'utente deve arrivare a un workspace, il parametro facoltativo selectWorkspace chiede all'utente di sceglierne uno during dell'accesso, e lo scambio del codice restituisce direttamente un token limitato al workspace. Vedi la modalità di accesso al workspace.

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

Scopri di più

AI-LocalizedLocalizzato tramite A
Se trovi un problema, seleziona il testo/l’immagine e premi Ctrl + Invio per inviarci il tuo feedback.
Contenuto