Autenticação
Altium Identity é o provedor de identidade OAuth 2.0 e OpenID Connect (OIDC) da Altium. Seu aplicativo autentica um usuário por meio do Altium Identity e então chama a API do Altium 365 em nome dele — ele nunca lida com a senha Altium do usuário.
Os aplicativos fazem login com o authorization-code flow e PKCE. Clientes públicos (desktop, on-prem, nativos, aplicativos de página única) usam PKCE sem client secret; clientes confidenciais (backends web/servidor) adicionam um client secret. 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.
Vocabulário de tokens
A oferta comercial do Altium 365 opera em quatro regiões geográficas:
Termo |
O que é |
Global access token |
Um token em nível de usuário que você recebe após o login com os |
Workspace access token |
Um token com escopo de um único workspace por meio do escopo |
| Refresh token | Emitido quando você solicita o escopo |
Para 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 GovCloud — veja abaixo).
-
Call the Altium 365 API com o token de workspace, renovando-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 é renovado em seu próprio endpoint emissor.
Commercial Cloud e GovCloud
O Altium 365 opera em dois ambientes estritamente separados:
-
Commercial Cloud (
auth.altium.com) — o ambiente padrão. -
GovCloud (
auth.365-gov.altium.com) — um ambiente isolado para workspaces ITAR/regulados.
O emissor de um token (iss) identifica qual ambiente o gerou, e os dois nunca são intercambiáveis: um token Gov é rejeitado pelos serviços Commercial, e um token Commercial é rejeitado pelo GovCloud. O GovCloud reforça isso com um two-token model — um token Gov de workspace carrega um marcador secure que o vincula ao GovCloud. Você faz login uma vez no Commercial Cloud e, em seguida, troca seu token global por cada token de workspace no ambiente ao qual esse workspace pertence.
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 usando o padrão ActionWait hospedado pela Altium |
Aplicativos desktop e on-prem |
Bibliotecas 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 compartilhado de testes de conformidade:
Idioma |
Documentação de referência |
| TypeScript | Biblioteca TypeScript |
| .NET | Biblioteca .NET |