Uwierzytelnianie

Altium Identity to dostawca tożsamości Altium oparty na OAuth 2.0 i OpenID Connect (OIDC). Twoja aplikacja uwierzytelnia użytkownika za pośrednictwem Altium Identity, a następnie wywołuje API Altium 365 w jego imieniu — nigdy nie obsługuje hasła Altium użytkownika.

Aplikacje logują się przy użyciu authorization-code flow i PKCE. Klienci publiczni (aplikacje desktopowe, on-prem, natywne, jednostronicowe) używają PKCE bez client secret; klienci poufni (backendy webowe/serwerowe) dodatkowo używają client secret. Szczegółowe przebiegi krok po kroku, wraz z każdym żądaniem i odpowiedzią, znajdują się na GitHubie — ta strona wyjaśnia koncepcje, aby pomóc Ci wybrać właściwą ścieżkę.

Full flows, code, and libraries → Altium 365 Auth on GitHub. Projekt GitHub jest źródłem prawdy: neutralna językowo specyfikacja, współdzielony zestaw testów zgodności oraz idiomatyczne biblioteki klienckie dla TypeScript i .NET.

Słownictwo dotyczące tokenów

Komercyjna oferta Altium 365 działa w czterech regionach geograficznych:

Termin

Co to jest

Global access token

Token na poziomie użytkownika, który otrzymujesz po zalogowaniu z zakresami openid profile. Użyj go, aby sprawdzić, do których workspace’ów użytkownik ma dostęp.

Workspace access token

Token ograniczony do pojedynczego workspace’u za pomocą zakresu a365:workspace:{workspaceId}. Użyj go do wywołań API Altium 365 dla tego workspace’u.

Refresh token

Wydawany, gdy żądasz zakresu offline_access. Użyj go, aby uzyskać nowy token dostępu — globalny lub dla workspace’u — bez ponownego proszenia użytkownika o zalogowanie.

Pełny opis budowy tokenu i jego claimów znajdziesz w Tokens i OAuth Scopes.

Proces logowania

Proces jest taki sam dla aplikacji webowych oraz desktopowych/on-prem — różni się tylko sposób, how w jaki uzyskujesz authorization code (przekierowanie hostowane przez Twoją aplikację albo hostowany przez Altium wzorzec ActionWait dla aplikacji, które nie mogą go hostować). W każdym przypadku:

  1. Sign in on Commercial Cloud (https://auth.altium.com), aby uzyskać global access token. Użyj go dla zasobów globalnych, takich jak lista workspace’ów użytkownika.

  2. Discover the user's workspaces przy użyciu tokenu globalnego.

  3. Exchange the global token for a workspace access token, w endpointcie odpowiadającym danemu workspace’owi (Commercial lub GovCloud — patrz niżej).

  4. Call the Altium 365 API przy użyciu tokenu workspace’u, odświeżając go w endpointcie, który go wydał.

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)

Aplikacja zwykle przechowuje jednocześnie kilka tokenów — jeden token globalny oraz po jednym tokenie workspace’u dla każdego używanego workspace’u. Każdy z nich jest odświeżany w swoim endpointcie wydającym.

Skip the discovery step. Jeśli już wiesz, że użytkownik powinien trafić do workspace’u, opcjonalny parametr selectWorkspace pozwala użytkownikowi wybrać go during logowaniem, a wymiana kodu zwraca bezpośrednio token ograniczony do workspace’u. Zobacz tryb Login into workspace.

Commercial Cloud i GovCloud

Altium 365 działa w dwóch ściśle odseparowanych środowiskach:

  • Commercial Cloud (auth.altium.com) — środowisko domyślne.

  • GovCloud (auth.365-gov.altium.com) — odizolowane środowisko dla workspace’ów ITAR/regulowanych.

Issuer tokenu (iss) identyfikuje środowisko, które go wydało, i oba środowiska nigdy nie są zamienne: token Gov jest odrzucany przez usługi Commercial, a token Commercial jest odrzucany przez GovCloud. GovCloud egzekwuje to za pomocą two-token model — token workspace’u Gov zawiera znacznik secure, który wiąże go z GovCloud. Logujesz się raz w Commercial Cloud, a następnie wymieniasz swój token globalny na każdy token workspace’u w środowisku, do którego należy dany workspace.

Jakiego flow potrzebuję?

Twoja aplikacja

Flow

Przewodnik
Web or server aplikacja, która może hostować endpoint przekierowania HTTPS

Authorization-code redirect flow

Aplikacje webowe i serwerowe

Desktop, on-prem, or native aplikacja, która nie może hostować przekierowania

Logowanie przez przeglądarkę z użyciem hostowanego przez Altium wzorca ActionWait

Aplikacje desktopowe i on-prem

Biblioteki klienckie

Nie musisz implementować flow ręcznie. Altium utrzymuje biblioteki open source zbudowane według jednej, neutralnej językowo specyfikacji i zweryfikowane przez współdzielony zestaw testów zgodności:

Język

Dokumentacja referencyjna

TypeScript Biblioteka TypeScript
.NET Biblioteka .NET

Dowiedz się więcej

AI-LocalizedTłumaczenie SI
Jeśli znajdziesz błąd, zaznacz tekst/obraz i naciśnij Ctrl + Enter aby wysłać nam wiadomość.
Content