Uwierzytelnianie

Altium Identity to dostawca tożsamości Altium obsługujący standardy 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 ma dostępu do hasła użytkownika w Altium.

Aplikacje logują się przy użyciu authorization-code flow i PKCE. Klienty publiczne (aplikacje desktopowe, lokalne, natywne i jednostronicowe) korzystają z PKCE bez sekretu klienta; klienty poufne (zaplecza aplikacji internetowych i serwerowych) dodatkowo używają sekretu klienta. Szczegółowe opisy przepływów, obejmujące wszystkie żądania i odpowiedzi, są dostępne w serwisie GitHub — ta strona wyjaśnia pojęcia, aby ułatwić wybór odpowiedniej ścieżki.

Full flows, code, and libraries → Altium Auth on GitHub. Projekt w serwisie GitHub stanowi nadrzędne źródło informacji: zawiera specyfikację niezależną od języka programowania, wspólny zestaw testów zgodności oraz biblioteki klienckie zgodne z konwencjami TypeScript i .NET.

Terminologia tokenów

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

Termin

Opis

Global access token

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

Workspace access token

Token ograniczony do jednego obszaru roboczego za pomocą zakresu a365:workspace:{workspaceId}. Używaj go do wywołań interfejsu API Altium 365 dotyczących tego obszaru roboczego.

Refresh token

Wydawany po zażądaniu zakresu offline_access. Użyj go, aby uzyskać nowy token dostępu — globalny lub obszaru roboczego — bez konieczności ponownego logowania użytkownika.

Pełny opis struktury tokena i zawartych w nim oświadczeń znajdziesz w sekcjach Tokeny i Zakresy OAuth.

Przebieg logowania

Przebieg jest taki sam w przypadku aplikacji internetowych oraz desktopowych/lokalnych — różni się jedynie how uzyskania kodu autoryzacyjnego (przekierowanie obsługiwane przez aplikację lub hostowany przez Altium wzorzec ActionWait dla aplikacji, które nie mogą obsługiwać takiego przekierowania). 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 obszarów roboczych użytkownika.

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

  3. Exchange the global token for a workspace access token, w punkcie końcowym odpowiadającym obszarowi roboczemu (Commercial lub GovCloud — patrz poniżej).

  4. Call the Altium 365 API przy użyciu tokena obszaru roboczego, 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 zwykle przechowuje kilka tokenów jednocześnie — jeden token globalny oraz po jednym tokenie dla każdego używanego obszaru roboczego. Każdy z nich jest odświeżany we własnym punkcie końcowym, który go wydał.

Skip the discovery step. Jeśli już wiesz, że użytkownik powinien trafić do obszaru roboczego, opcjonalny parametr selectWorkspace monituje użytkownika o wybranie jednego z nich during logowania, a wymiana kodu zwraca bezpośrednio token ograniczony do tego obszaru roboczego. Zobacz Logowanie w trybie obszaru roboczego.

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 obszarów roboczych objętych przepisami ITAR lub innymi regulacjami.

Wystawca tokena (iss) wskazuje środowisko, w którym token został wydany. Tokenów z tych środowisk nigdy nie można używać zamiennie: token Gov jest odrzucany przez usługi Commercial, a token Commercial jest odrzucany przez GovCloud. GovCloud wymusza to za pomocą two-token model — token obszaru roboczego Gov zawiera znacznik secure wiążący go z GovCloud. Logujesz się raz w Commercial Cloud, a następnie wymieniasz token globalny na token każdego obszaru roboczego w środowisku, do którego należy dany obszar.

Którego przepływu potrzebuję?

Twoja aplikacja

Przepływ

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

Przepływ przekierowania z kodem autoryzacyjnym

Aplikacje internetowe i serwerowe

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

Logowanie w przeglądarce z użyciem hostowanego przez Altium wzorca ActionWait

Aplikacje desktopowe i lokalne

Biblioteki klienckie

Nie musisz samodzielnie implementować przepływu. Altium utrzymuje biblioteki open source opracowane na podstawie jednej specyfikacji niezależnej od języka programowania i weryfikowane wspólnym zestawem testów zgodności:

Język

Dokumentacja referencyjna

TypeScript Biblioteka TypeScript
.NET Biblioteka .NET
Python Biblioteka Python

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ść.
Contents
Contents