인증
Altium Identity는 Altium의 OAuth 2.0 및 OpenID Connect (OIDC) ID 공급자입니다. 애플리케이션은 Altium Identity를 통해 사용자를 인증한 다음 사용자를 대신해 Altium 365 API를 호출하며, 사용자의 Altium 비밀번호는 직접 처리하지 않습니다.
애플리케이션은 authorization-code flow 및 PKCE로 로그인합니다. 공개 클라이언트(데스크톱, 온프레미스, 네이티브, 단일 페이지 앱)는 클라이언트 시크릿 없이 PKCE를 사용하며, 기밀 클라이언트(웹/서버 백엔드)는 클라이언트 시크릿을 추가합니다. 모든 요청과 응답이 포함된 단계별 플로우는 GitHub에 있으며, 이 페이지에서는 어떤 경로를 선택해야 하는지 알 수 있도록 개념을 설명합니다.
토큰 용어
상용 Altium 365 서비스는 네 개의 지리적 리전에서 운영됩니다.
용어 |
설명 |
Global access token |
범위로 로그인한 후 받는 사용자 수준 토큰입니다. |
Workspace access token |
스코프를 통해 단일 워크스페이스로 범위가 제한된 토큰입니다. |
| Refresh token | 스코프를 요청할 때 발급됩니다. |
토큰의 전체 구조와 클레임에 대해서는 Tokens 및 OAuth Scopes를 참조하세요.
로그인 여정
웹 앱과 데스크톱/온프레미스 앱의 흐름은 동일하며, 인증 코드를 얻는 방식만 how 다릅니다(앱이 호스팅하는 리디렉션 또는 이를 호스팅할 수 없는 앱을 위한 Altium 호스팅 ActionWait 패턴). 모든 경우에:
-
Sign in on Commercial Cloud (
https://auth.altium.com)하여 global access token를 얻습니다. 이를 사용해 사용자의 워크스페이스 목록과 같은 전역 리소스에 접근합니다. -
Discover the user's workspaces 전역 토큰과 함께 사용합니다.
-
Exchange the global token for a workspace access token워크스페이스에 해당하는 엔드포인트(Commercial 또는 Gov Cloud — 아래 참조)에서 합니다.
-
Call the Altium 365 API 워크스페이스 토큰과 함께 사용하며, 이를 발급한 엔드포인트에서 갱신합니다.
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)
일반적으로 앱은 동시에 여러 토큰을 보유합니다. 하나의 전역 토큰과 사용 중인 각 워크스페이스별 워크스페이스 토큰입니다. 각 토큰은 자신을 발급한 엔드포인트에서 개별적으로 갱신됩니다.
Commercial Cloud와 Gov Cloud
Altium 365는 엄격히 분리된 두 환경에서 실행됩니다.
-
Commercial Cloud (
auth.altium.com) — 기본 환경입니다. -
Gov Cloud (
auth.365-gov.altium.com) — ITAR/규제 대상 워크스페이스를 위한 격리된 환경입니다.
토큰의 발급자(iss)는 어떤 환경에서 발급되었는지를 식별하며, 두 환경의 토큰은 서로 절대 호환되지 않습니다. Gov 토큰은 Commercial 서비스에서 거부되고, Commercial 토큰은 Gov Cloud에서 거부됩니다. Gov Cloud는 이를 two-token model 로 강제하며, Gov 워크스페이스 토큰에는 Gov Cloud에 바인딩하는 secure 마커가 포함됩니다. Commercial Cloud에서 한 번 로그인한 후, 각 워크스페이스를 소유한 환경에서 전역 토큰을 해당 워크스페이스 토큰으로 교환합니다.
어떤 플로우가 필요할까요?
애플리케이션 |
플로우 |
가이드 |
| Web or server HTTPS 리디렉션 엔드포인트를 호스팅할 수 있는 앱 | 인가 코드 리디렉션 플로우 |
웹 및 서버 앱 |
Desktop, on-prem, or native 리디렉션을 호스팅할 수 없는 앱 |
Altium 호스팅 ActionWait 패턴을 통한 브라우저 로그인 |
데스크톱 및 온프레미스 앱 |
클라이언트 라이브러리
이 플로우를 직접 구현할 필요는 없습니다. Altium은 하나의 언어 중립 명세를 기반으로 구축되고 공유 적합성 테스트 모음으로 검증된 오픈 소스 라이브러리를 유지 관리합니다.
언어 |
참조 문서 |
| TypeScript | TypeScript 라이브러리 |
| .NET | .NET 라이브러리 |