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 interfejs API Altium 365 w jego imieniu — nigdy nie przetwarza 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, obejmujące każde żądanie i odpowiedź, znajdują się na GitHubie — ta strona wyjaśnia pojęcia, aby pomóc Ci wybrać właściwą ścieżkę.

Full flows, code, and libraries → Altium 365 Auth on GitHub. Projekt na GitHubie jest źródłem prawdy: zawiera specyfikację niezależną od języka, wspólny zestaw testów zgodności oraz idiomatyczne biblioteki klienckie dla TypeScript i .NET.

Terminologia tokenów

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

Termin

Czym jest

Global access token

Token na poziomie użytkownika, który otrzymujesz po zalogowaniu z zakresami openid profile. Używaj go do ustalenia, do których workspace'ów użytkownik ma dostęp.

Workspace access token

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

Refresh token

Wydawany, gdy zażądasz zakresu offline_access. Używaj go do uzyskania nowego tokenu dostępu — globalnego lub dla workspace'a — bez ponownego proszenia użytkownika o zalogowanie.

Pełny opis struktury tokenu i jego claims znajdziesz w Tokens i OAuth Scopes.

Proces logowania

Proces jest taki sam dla aplikacji webowych i desktopowych/on-prem — różni się tylko sposób, how uzyskania authorization code (przekierowanie obsługiwane przez Twoją aplikację albo wzorzec ActionWait hostowany przez Altium dla aplikacji, które nie mogą go obsłużyć). W każdym przypadku:

  1. Sign in on Commercial Cloud (https://auth.altium.com), aby uzyskać global access token. Używaj go do zasobów globalnych, takich jak wyświetlanie listy 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 punkcie końcowym odpowiadającym danemu workspace'owi (Commercial lub Gov Cloud — patrz poniżej).

  4. Call the Altium 365 API przy użyciu tokenu workspace'a, odświeżając go w punkcie końcowym, 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 często przechowuje jednocześnie kilka tokenów — jeden token globalny oraz po jednym tokenie workspace'a dla każdego używanego workspace'a. Każdy z nich jest odświeżany we własnym punkcie końcowym wydającym.

Skip the discovery step. Gdy z góry wiadomo, że użytkownik powinien trafić do workspace'a, opcjonalny parametr selectWorkspace powoduje wyświetlenie użytkownikowi wyboru workspace'a during logowaniem, a wymiana kodu zwraca bezpośrednio token ograniczony do workspace'a. Zobacz tryb Login into workspace.

Commercial Cloud i Gov Cloud

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

  • Commercial Cloud (auth.altium.com) — środowisko domyślne.
  • Gov Cloud (auth.365-gov.altium.com) — izolowane środowisko dla workspace'ów ITAR/regulowanych.

Wystawca tokenu (iss) określa, które środowisko go wydało, i tych dwóch środowisk nigdy nie można używać zamiennie: token Gov jest odrzucany przez usługi Commercial, a token Commercial jest odrzucany przez Gov Cloud. Gov Cloud wymusza to za pomocą two-token model — token workspace'a Gov zawiera znacznik secure, który wiąże go z Gov Cloud. Logujesz się raz do Commercial Cloud, a następnie wymieniasz token globalny na token każdego workspace'a w środowisku, do którego należy dany workspace.

Jakiego przepływu potrzebuję?

Twoja aplikacja

Przepływ

Przewodnik
Web or server aplikacja, która może hostować punkt końcowy przekierowania HTTPS

Przepływ przekierowania authorization code

Aplikacje webowe i serwerowe

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

Logowanie w przeglądarce przy użyciu wzorca ActionWait hostowanego przez Altium

Aplikacje desktopowe i on-prem

Biblioteki klienckie

Nie musisz implementować tego przepływu ręcznie. Altium utrzymuje biblioteki open source zbudowane według jednej specyfikacji niezależnej od języka i weryfikowane przez wspólny 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ść.
Treść