Autenticación
Altium Identity es el proveedor de identidad de Altium basado en OAuth 2.0 y OpenID Connect (OIDC). Su aplicación autentica a un usuario a través de Altium Identity y luego llama a la API de Altium 365 en su nombre; nunca gestiona la contraseña de Altium del usuario.
Las aplicaciones inician sesión con authorization-code flow y PKCE. Los clientes públicos (aplicaciones de escritorio, on-prem, nativas y de una sola página) usan PKCE sin secreto de cliente; los clientes confidenciales (backends web/servidor) añaden un secreto de cliente. Los flujos paso a paso, con cada solicitud y respuesta, están en GitHub; esta página explica los conceptos para que sepa qué camino tomar.
Vocabulario de tokens
La oferta comercial de Altium 365 opera en cuatro regiones geográficas:
Término |
Qué es |
Global access token |
Un token de nivel de usuario que recibe después de iniciar sesión con los |
Workspace access token |
Un token limitado a un único workspace mediante el scope |
| Refresh token | Se emite cuando solicita el scope |
Para ver la anatomía completa de un token y sus claims, consulte Tokens y OAuth Scopes.
El recorrido de inicio de sesión
El recorrido es el mismo para aplicaciones web y de escritorio/on-prem; solo cambia cómo obtiene el código de autorización: una redirección alojada por su aplicación, o el patrón ActionWait alojado por Altium para aplicaciones que no pueden alojar una. En todos los casos:
-
Sign in on Commercial Cloud (
https://auth.altium.com) para obtener un global access token. Úselo para recursos globales, como enumerar los workspaces del usuario. -
Discover the user's workspaces con el token global.
-
Exchange the global token for a workspace access token, en el endpoint que corresponde al workspace (Commercial o GovCloud; vea más abajo).
-
Call the Altium 365 API con el token del workspace, renovándolo en el endpoint que lo emitió.
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)
Una aplicación suele mantener varios tokens al mismo tiempo: un token global más un token de workspace por cada workspace en uso. Cada uno se renueva en su propio endpoint emisor.
Commercial Cloud y GovCloud
Altium 365 se ejecuta en dos entornos estrictamente separados:
-
Commercial Cloud (
auth.altium.com) — el entorno predeterminado. -
GovCloud (
auth.365-gov.altium.com) — un entorno aislado para workspaces ITAR/regulados.
El emisor de un token (iss) identifica qué entorno lo generó, y ambos nunca son intercambiables: un token de Gov es rechazado por los servicios Commercial, y un token Commercial es rechazado por GovCloud. GovCloud aplica esto con un two-token model: un token de workspace de Gov lleva un marcador secure que lo vincula a GovCloud. Se inicia sesión una vez en Commercial Cloud y luego se intercambia el token global por cada token de workspace en el entorno al que pertenece ese workspace.
¿Qué flujo necesito?
Su aplicación |
Flujo |
Guía |
| Web or server aplicación que puede alojar un endpoint de redirección HTTPS | Flujo de redirección con código de autorización |
Aplicaciones web y de servidor |
Desktop, on-prem, or native aplicación que no puede alojar una redirección |
Inicio de sesión en el navegador mediante el patrón ActionWait alojado por Altium |
Aplicaciones de escritorio y on-prem |
Bibliotecas cliente
No tiene que implementar el flujo manualmente. Altium mantiene bibliotecas de código abierto creadas a partir de una especificación neutral respecto al lenguaje y validadas por una suite de conformidad compartida:
Lenguaje |
Documentación de referencia |
| TypeScript | Biblioteca TypeScript |
| .NET | Biblioteca .NET |