Authentification

Altium Identity est le fournisseur d'identité OAuth 2.0 et OpenID Connect (OIDC) d'Altium. Votre application authentifie un utilisateur via Altium Identity, puis appelle l'API Altium 365 en son nom — elle ne manipule jamais le mot de passe Altium de l'utilisateur.

Les applications se connectent avec authorization-code flow et PKCE. Les clients publics (applications de bureau, sur site, natives et monopages) utilisent PKCE sans secret client ; les clients confidentiels (backends web/serveur) ajoutent un secret client. Les flux détaillés étape par étape, avec chaque requête et chaque réponse, sont disponibles sur GitHub — cette page explique les concepts pour vous aider à choisir la marche à suivre.

Full flows, code, and libraries → Altium Auth on GitHub. Le projet GitHub constitue la référence : une spécification indépendante du langage, une suite de tests de conformité commune et des bibliothèques clientes idiomatiques pour TypeScript et .NET.

Terminologie des jetons

L'offre commerciale Altium 365 est déployée dans quatre régions géographiques :

Terme

Description

Global access token

Un jeton au niveau de l'utilisateur, reçu après la connexion avec les portées openid profile. Utilisez-le pour découvrir les espaces de travail auxquels l'utilisateur peut accéder.

Workspace access token

Un jeton limité à un seul espace de travail via la portée a365:workspace:{workspaceId}. Utilisez-le pour les appels à l'API Altium 365 concernant cet espace de travail.

Refresh token

Émis lorsque vous demandez la portée offline_access. Utilisez-le pour obtenir un nouveau jeton d'accès — global ou propre à un espace de travail — sans demander à l'utilisateur de se reconnecter.

Pour connaître la structure complète d'un jeton et de ses revendications, consultez Jetons et Portées OAuth.

Le parcours de connexion

Le parcours est identique pour les applications web et les applications de bureau/sur site — seule diffère how vous obtenez le code d'autorisation (une redirection hébergée par votre application, ou le modèle ActionWait hébergé par Altium pour les applications qui ne peuvent pas en héberger une). Dans tous les cas :

  1. Sign in on Commercial Cloud (https://auth.altium.com) pour obtenir un global access token. Utilisez-le pour les ressources globales, comme la liste des espaces de travail de l'utilisateur.

  2. Discover the user's workspaces avec le jeton global.

  3. Exchange the global token for a workspace access token, au point de terminaison correspondant à l'espace de travail (commercial ou GovCloud — voir ci-dessous).

  4. Call the Altium 365 API avec le jeton de l'espace de travail, en le renouvelant auprès du point de terminaison qui l'a émis.

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)

Une application détient généralement plusieurs jetons à la fois — un jeton global et un jeton par espace de travail utilisé. Chacun est renouvelé auprès du point de terminaison qui l'a émis.

Skip the discovery step. Lorsque vous savez déjà que l'utilisateur doit accéder à un espace de travail, le paramètre facultatif selectWorkspace invite l'utilisateur à en choisir un during connexion, et l'échange du code renvoie directement un jeton limité à cet espace de travail. Consultez Connexion en mode espace de travail.

Cloud commercial et GovCloud

Altium 365 fonctionne dans deux environnements strictement séparés :

  • Commercial Cloud (auth.altium.com) — l'environnement par défaut.

  • GovCloud (auth.365-gov.altium.com) — un environnement isolé pour les espaces de travail soumis à l'ITAR ou à d'autres réglementations.

L'émetteur d'un jeton (iss) indique l'environnement qui l'a émis, et les deux types de jetons ne sont jamais interchangeables : un jeton Gov est rejeté par les services commerciaux, et un jeton commercial est rejeté par GovCloud. GovCloud impose cette séparation au moyen d'un two-token model — un jeton d'espace de travail Gov comporte un marqueur secure qui le lie à GovCloud. Vous vous connectez une seule fois au cloud commercial, puis vous échangez votre jeton global contre un jeton pour chaque espace de travail auprès de l'environnement auquel cet espace de travail appartient.

Quel flux dois-je utiliser ?

Votre application

Flux

Guide
Web or server application pouvant héberger un point de terminaison de redirection HTTPS

Flux de redirection avec code d'autorisation

Applications web et serveur

Desktop, on-prem, or native application ne pouvant pas héberger de redirection

Connexion dans le navigateur via le modèle ActionWait hébergé par Altium

Applications de bureau et sur site

Bibliothèques clientes

Vous n'avez pas besoin d'implémenter le flux vous-même. Altium maintient des bibliothèques open source fondées sur une spécification unique indépendante du langage et validées par une suite de tests de conformité commune :

Langage

Documentation de référence

TypeScript Bibliothèque TypeScript
.NET Bibliothèque .NET
Python Bibliothèque Python

En savoir plus

AI-LocalizedLocalisé par IA
Si vous trouvez un problème, sélectionnez le texte/l’image et appuyez surCtrl + Enterpour nous envoyer vos commentaires.
Contents
Contents