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 maneja 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 página única) usan PKCE sin secreto de cliente; los clientes confidenciales (backends web/servidor) agregan 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é ruta seguir.
Vocabulario de tokens
La oferta comercial de Altium 365 se ejecuta en cuatro regiones geográficas:
Término |
Qué es |
Global access token |
Un token a 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 difiere how para obtener el código de autorización (una redirección alojada por su aplicación o el patrón alojado por Altium ActionWait 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 listar 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 corresponda al workspace (Commercial o Gov Cloud; vea más abajo).
-
Call the Altium 365 API con el token de 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 Gov Cloud
Altium 365 funciona en dos entornos estrictamente separados:
-
Commercial Cloud (
auth.altium.com) — el entorno predeterminado. -
Gov Cloud (
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 Gov Cloud. Gov Cloud aplica esto con un two-token model : un token de workspace de Gov lleva un marcador secure que lo vincula a Gov Cloud. Usted inicia sesión una vez en Commercial Cloud y luego intercambia su token global por cada token de workspace en el entorno propietario de 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 alojado por Altium ActionWait |
Aplicaciones de escritorio y on-prem |
Bibliotecas cliente
No tiene que implementar el flujo manualmente. Altium mantiene bibliotecas de código abierto creadas según una especificación neutral en cuanto al lenguaje y validadas por un conjunto compartido de pruebas de conformidad:
Lenguaje |
Documentación de referencia |
| TypeScript | Biblioteca TypeScript |
| .NET | Biblioteca .NET |