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.

Full flows, code, and libraries → Altium 365 Auth on GitHub. O projeto no GitHub é a fonte oficial: especificação neutra em relação à linguagem, um conjunto compartilhado de testes de conformidade e bibliotecas cliente idiomáticas para TypeScript e .NET.

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 openid profile scopes. Use-o para descobrir quais workspaces o usuário pode acessar.

Workspace access token

Um token com escopo de um único workspace por meio do escopo a365:workspace:{workspaceId} . Use-o para chamadas da API do Altium 365 nesse workspace.

Refresh token

Emitido quando você solicita o escopo offline_access . Use-o para obter um novo token de acesso — global ou de workspace — sem pedir ao usuário que faça login novamente.

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:

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

  2. Discover the user's workspaces com o token global.

  3. Exchange the global token for a workspace access token, no endpoint que corresponde ao workspace (Commercial ou GovCloud — veja abaixo).

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

Skip the discovery step. Quando você já sabe que o usuário deve entrar em um workspace, o parâmetro opcional selectWorkspace solicita que o usuário escolha um antes do login, e a troca do código retorna diretamente um token com escopo de workspace. Consulte o modo de login no workspace.

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

Saiba mais

AI-LocalizedLocalizado por IA
Caso encontre um problema, selecione o texto/imagem e primaCtrl + Enterpara nos enviar o seu feedback.
Conteúdo