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.

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 de conformidade compartilhado e bibliotecas de cliente idiomáticas para TypeScript e .NET.

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

Workspace access token

Um token com escopo para 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 que o usuário faça login novamente.

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:

  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 Gov Cloud — veja abaixo).

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

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

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

Saiba mais

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