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 effettuano l'accesso con authorization-code flow e PKCE. I client pubblici (applicazioni desktop, on-premise, native e a pagina singola) usano PKCE senza un segreto client; i client riservati (backend web/server) aggiungono un segreto client. I flussi passo passo, con tutte le richieste e le risposte, sono disponibili su GitHub: questa pagina spiega i concetti per aiutarti a scegliere il percorso da seguire.

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

Terminologia dei token

L'offerta commerciale di Altium 365 opera in quattro aree geografiche:

Termine

Descrizione

Global access token

Un token a livello utente che ricevi dopo l'accesso con gli ambiti openid profile . Usalo per individuare le aree di lavoro a cui l'utente può accedere.

Workspace access token

Un token limitato a una singola area di lavoro tramite l'ambito a365:workspace:{workspaceId} . Usalo per le chiamate API di Altium 365 relative a quell'area di lavoro.

Refresh token

Viene emesso quando richiedi l'ambito offline_access . Usalo per ottenere un nuovo token di accesso, globale o relativo a un'area di lavoro, senza chiedere all'utente di effettuare nuovamente l'accesso.

Per la struttura completa di un token e delle sue attestazioni, consulta Token e Ambiti OAuth.

Il percorso di accesso

Il percorso è lo stesso per le applicazioni web e desktop/on-premise: cambia solo how ottieni il codice di autorizzazione (un reindirizzamento ospitato dalla tua applicazione oppure il modello ActionWait ospitato da Altium per le applicazioni 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, ad esempio per elencare le aree di lavoro 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 all'area di lavoro (Commercial o GovCloud: vedi sotto).

  4. Call the Altium 365 API con il token dell'area di lavoro, rinnovandolo presso l'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'applicazione in genere conserva più token contemporaneamente: un token globale e un token per ogni area di lavoro in uso. Ciascuno viene rinnovato presso il proprio endpoint di emissione.

Skip the discovery step. Quando sai già che l'utente deve accedere a un'area di lavoro, il parametro facoltativo selectWorkspace chiede all'utente di sceglierne una during l'accesso e lo scambio del codice restituisce direttamente un token limitato all'area di lavoro. Consulta Accesso in modalità area di lavoro.

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 le aree di lavoro soggette a ITAR o ad altre normative.

L'emittente di un token (iss) identifica l'ambiente che lo ha generato e i token dei due ambienti non sono mai intercambiabili: un token Gov viene rifiutato dai servizi Commercial e un token Commercial viene rifiutato da GovCloud. GovCloud applica questa separazione tramite un two-token model : un token di area di lavoro Gov contiene un marcatore secure che lo vincola a GovCloud. Effettui l'accesso una sola volta su Commercial Cloud, poi scambi il tuo token globale con ciascun token di area di lavoro nell'ambiente a cui appartiene quell'area di lavoro.

Quale flusso mi serve?

La tua applicazione

Flusso

Guida
Web or server applicazione che può ospitare un endpoint di reindirizzamento HTTPS

Flusso di reindirizzamento con codice di autorizzazione

Applicazioni web e server

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

Accesso tramite browser con il modello ActionWait ospitato da Altium

Applicazioni desktop e on-premise

Librerie client

Non devi implementare il flusso manualmente. Altium mantiene librerie open source basate su un'unica specifica indipendente dal linguaggio e validate da una suite condivisa di test di conformità:

Linguaggio

Documentazione di riferimento

TypeScript Libreria TypeScript
.NET Libreria .NET
Python Libreria Python

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