인증

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

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

Workspace access token

 스코프를 통해 단일 워크스페이스로 범위가 제한된 토큰입니다.a365:workspace:{workspaceId} 해당 워크스페이스에 대한 Altium 365 API 호출에 사용합니다.

Refresh token

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

토큰의 전체 구조와 클레임에 대해서는 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 또는 Gov Cloud — 아래 참조)에서 합니다.

  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)

일반적으로 앱은 동시에 여러 토큰을 보유합니다. 하나의 전역 토큰과 사용 중인 각 워크스페이스별 워크스페이스 토큰입니다. 각 토큰은 자신을 발급한 엔드포인트에서 개별적으로 갱신됩니다.

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

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 라이브러리

자세히 알아보기

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