Autenticação
Altium Identity é o provedor de identidade da Altium com OAuth 2.0 e OpenID Connect (OIDC). Seu aplicativo autentica um usuário por meio do Altium Identity e, em seguida, chama a API do Altium 365 em nome dele — ele nunca manipula a senha do usuário do Altium.
Os aplicativos fazem login com authorization-code flow e PKCE. Clientes públicos (desktop, on-prem, nativos, aplicativos de página única) usam PKCE sem segredo do cliente; clientes confidenciais (backends web/servidor) adicionam um segredo do cliente. Os fluxos passo a passo, com cada solicitação e resposta, estão no GitHub — esta página explica os conceitos para que você saiba qual caminho seguir.
Terminologia de tokens
A oferta comercial do Altium 365 é executada em quatro regiões geográficas:
Termo |
O que é |
Global access token |
Um token de nível de usuário que você recebe após o login com os escopos |
Workspace access token |
Um token com escopo para um único workspace por meio do escopo |
| Refresh token | Emitido quando você solicita o escopo |
Para ver a anatomia completa de um token e suas claims, consulte Tokens e OAuth Scopes.
A jornada de login
A jornada é a mesma para aplicativos web e desktop/on-prem — apenas a forma como how você obtém o código de autorização difere (um redirecionamento hospedado pelo seu aplicativo ou o padrão ActionWait hospedado pela Altium para aplicativos que não podem hospedar um). Em todos os casos:
-
Sign in on Commercial Cloud (
https://auth.altium.com) para obter um global access token. Use-o para recursos globais, como listar os workspaces do usuário. -
Discover the user's workspaces com o token global.
-
Exchange the global token for a workspace access token, no endpoint que corresponde ao workspace (Commercial ou Gov Cloud — veja abaixo).
-
Call the Altium 365 API com o token do workspace, atualizando-o no endpoint que o emitiu.
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)
É comum que um aplicativo mantenha vários tokens ao mesmo tempo — um token global mais um token de workspace para cada workspace em uso. Cada um é atualizado em seu próprio endpoint emissor.
Commercial Cloud e Gov Cloud
O Altium 365 é executado em dois ambientes estritamente separados:
-
Commercial Cloud (
auth.altium.com) — o ambiente padrão. -
Gov Cloud (
auth.365-gov.altium.com) — um ambiente isolado para workspaces ITAR/regulados.
O emissor de um token (iss) identifica qual ambiente o emitiu, e os dois nunca são intercambiáveis: um token Gov é rejeitado pelos serviços Commercial, e um token Commercial é rejeitado pelo Gov Cloud. O Gov Cloud aplica isso com um two-token model — um token de workspace Gov carrega um marcador secure que o vincula ao Gov Cloud. Você faz login uma vez no Commercial Cloud e depois troca seu token global por cada token de workspace no ambiente ao qual esse workspace pertence.
De qual fluxo eu preciso?
Seu aplicativo |
Fluxo |
Guia |
| Web or server aplicativo que pode hospedar um endpoint de redirecionamento HTTPS | Fluxo de redirecionamento com código de autorização |
Aplicativos web e de servidor |
Desktop, on-prem, or native aplicativo que não pode hospedar um redirecionamento |
Login no navegador por meio do padrão ActionWait hospedado pela Altium |
Aplicativos desktop e on-prem |
Bibliotecas de cliente
Você não precisa implementar o fluxo manualmente. A Altium mantém bibliotecas open source criadas com base em uma especificação neutra em relação à linguagem e validadas por um conjunto de conformidade compartilhado:
Idioma |
Documentação de referência |
| TypeScript | Biblioteca TypeScript |
| .NET | Biblioteca .NET |