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 quindi chiama l'API di Altium 365 per suo conto — senza mai gestire la password Altium dell'utente.

Le applicazioni effettuano 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, sono disponibili su GitHub — questa pagina spiega i concetti così da aiutarti a capire quale percorso seguire.

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

Terminologia dei token

L'offerta commerciale di Altium 365 è disponibile in quattro regioni geografiche:

Termine

Che cos'è

Global access token

Un token a livello utente che ricevi dopo l'accesso con gli scope openid profile . Usalo per individuare a quali workspace l'utente può accedere.

Workspace access token

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

Refresh token

Emesso quando richiedi lo scope offline_access . Usalo per ottenere un nuovo access token — globale o del workspace — senza chiedere all'utente di effettuare nuovamente l'accesso.

Per la struttura 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 le 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, all'endpoint corrispondente al workspace (Commercial o GovCloud — vedi sotto).

  4. Call the Altium 365 API con il token del workspace, aggiornandolo all'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 più token — un token globale più un token del workspace per ogni workspace in uso. Ciascuno 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 invita l'utente a sceglierne uno during dell'accesso, e lo scambio del codice restituisce direttamente un token con ambito workspace. Vedi Modalità di accesso al workspace.

Commercial Cloud e GovCloud

Altium 365 opera in due ambienti rigorosamente separati:

  • Commercial Cloud (auth.altium.com) — l'ambiente predefinito.

  • GovCloud (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 GovCloud. GovCloud applica questa regola con un two-token model — un token workspace Gov contiene un marcatore secure che lo vincola a GovCloud. L'accesso viene eseguito una sola volta su Commercial Cloud, poi il token globale viene scambiato con ciascun token workspace nell'ambiente che possiede 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 tramite authorization code

App web e server

Desktop, on-prem, or native app che non può ospitare un reindirizzamento

Accesso via browser tramite il modello ActionWait ospitato da Altium

App desktop e on-prem

Librerie client

Non devi implementare il flusso manualmente. Altium mantiene librerie open source create su un'unica 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 + Enter per inviarci il tuo feedback.
Contenuto