인증

Altium Identity는 Altium의 OAuth 2.0 및 OpenID Connect (OIDC) ID 공급자입니다. 애플리케이션은 Altium Identity를 통해 사용자를 인증한 다음 해당 사용자를 대신해 Altium 365 API를 호출하며, 사용자의 Altium 비밀번호를 직접 처리하지 않습니다.

애플리케이션은 authorization-code flow 및 PKCE를 사용해 로그인합니다. 공개 클라이언트(데스크톱, 온프레미스, 네이티브, 단일 페이지 앱)는 클라이언트 시크릿 없이 PKCE를 사용하고, 기밀 클라이언트(웹/서버 백엔드)는 클라이언트 시크릿을 추가합니다. 모든 요청과 응답이 포함된 단계별 흐름은 GitHub에 정리되어 있으며, 이 페이지에서는 어떤 경로를 선택해야 하는지 알 수 있도록 개념을 설명합니다.

Full flows, code, and libraries → Altium 365 Auth on GitHub. GitHub 프로젝트가 기준 정보의 원천입니다. 언어 중립적 사양, 공통 적합성 테스트 모음, 그리고 TypeScript 및 .NET용 관용적 클라이언트 라이브러리를 제공합니다.

토큰 용어

상용 Altium 365 서비스는 네 개의 지리적 리전에서 운영됩니다:

용어

설명

Global access token

 범위로 로그인한 후 받는 사용자 수준 토큰입니다. 사용자가 액세스할 수 있는 워크스페이스를 확인하는 데 사용합니다.

Workspace access token

 범위를 통해 단일 워크스페이스로 범위가 지정된 토큰입니다. 해당 워크스페이스에 대한 Altium 365 API 호출에 사용합니다.

Refresh token

 범위를 요청할 때 발급됩니다. 사용자가 다시 로그인하지 않아도 새 액세스 토큰(글로벌 또는 워크스페이스)을 얻는 데 사용합니다.

토큰의 전체 구조와 클레임에 대해서는 Tokens 및 OAuth Scopes를 참조하세요.

로그인 여정

웹 앱과 데스크톱/온프레미스 앱의 흐름은 동일하며, 권한 부여 코드를 얻는 방식만 how 다릅니다(앱이 호스팅하는 리디렉션 또는 리디렉션을 호스팅할 수 없는 앱을 위한 Altium 호스팅 ActionWait 패턴). 모든 경우에 다음이 적용됩니다:

  1. Sign in on Commercial Cloud (https://auth.altium.com)하여 global access token를 가져옵니다. 이를 사용해 사용자의 워크스페이스 목록과 같은 글로벌 리소스에 액세스합니다.

  2. Discover the user's workspaces 글로벌 토큰으로 수행합니다.

  3. Exchange the global token for a workspace access token워크스페이스에 해당하는 엔드포인트(Commercial 또는 GovCloud — 아래 참조)에서 수행합니다.

  4. 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)

앱은 일반적으로 여러 토큰을 동시에 보유합니다. 즉, 글로벌 토큰 1개와 사용 중인 각 워크스페이스별 워크스페이스 토큰 1개입니다. 각 토큰은 자신을 발급한 엔드포인트에서 개별적으로 갱신됩니다.

Skip the discovery step. 사용자가 특정 워크스페이스로 이동해야 한다는 것을 이미 알고 있다면, 선택 사항인 selectWorkspace 매개변수를 사용해 로그인 during 전에 사용자가 워크스페이스를 선택하도록 할 수 있으며, 코드 교환 시 워크스페이스 범위의 토큰이 직접 반환됩니다. 자세한 내용은 Login into workspace mode를 참조하세요.

Commercial Cloud와 GovCloud

Altium 365는 엄격히 분리된 두 환경에서 운영됩니다:

  • Commercial Cloud (auth.altium.com) — 기본 환경입니다.

  • GovCloud (auth.365-gov.altium.com) — ITAR/규제 대상 워크스페이스를 위한 격리된 환경입니다.

토큰의 발급자(iss)는 어떤 환경에서 토큰이 발급되었는지를 식별하며, 두 환경의 토큰은 서로 절대 호환되지 않습니다. Gov 토큰은 Commercial 서비스에서 거부되고, Commercial 토큰은 GovCloud에서 거부됩니다. GovCloud는 이를 two-token model 로 강제합니다. Gov 워크스페이스 토큰에는 GovCloud에 바인딩하는 secure 마커가 포함됩니다. 사용자는 Commercial Cloud에서 한 번 로그인한 뒤, 해당 워크스페이스를 소유한 환경에서 각 워크스페이스 토큰으로 글로벌 토큰을 교환합니다.

어떤 흐름이 필요할까요?

애플리케이션

흐름

가이드
Web or server HTTPS 리디렉션 엔드포인트를 호스팅할 수 있는 앱

Authorization-code redirect flow

웹 및 서버 앱

Desktop, on-prem, or native 리디렉션을 호스팅할 수 없는 앱

Altium 호스팅 ActionWait 패턴을 통한 브라우저 로그인

데스크톱 및 온프레미스 앱

클라이언트 라이브러리

이 흐름을 직접 구현할 필요는 없습니다. Altium은 하나의 언어 중립적 사양을 기반으로 구축되고 공통 적합성 테스트 모음으로 검증된 오픈 소스 라이브러리를 유지 관리합니다:

언어

참조 문서

TypeScript TypeScript 라이브러리
.NET .NET 라이브러리

자세히 알아보기

AI-LocalizedAI로 번역됨
만약 문제가 있으시다면, 텍스트/이미지를 선택하신 상태에서 Ctrl + Enter를 누르셔서 저희에게 피드백을 보내주세요.
콘텐츠