인증

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 Auth on GitHub. GitHub 프로젝트는 언어에 구애받지 않는 명세, 공통 적합성 테스트 모음, TypeScript 및 .NET의 언어별 관례에 맞춘 클라이언트 라이브러리를 제공하는 기준 정보원입니다.

토큰 용어

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

용어

설명

Global access token

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

Workspace access token

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

Refresh token

 offline_access 범위를 요청하면 발급됩니다. 사용자에게 다시 로그인하도록 요청하지 않고 새 액세스 토큰(전역 또는 워크스페이스)을 얻는 데 사용합니다.

토큰과 클레임의 전체 구조는 토큰 및 OAuth 범위를 참조하세요.

로그인 과정

웹 앱과 데스크톱/온프레미스 앱의 로그인 과정은 동일하며, 인증 코드를 얻는 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)

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

Skip the discovery step. 사용자가 특정 워크스페이스로 이동해야 한다는 것을 이미 알고 있다면, 선택 사항인 selectWorkspace 파라미터를 사용하여 사용자에게 로그인 during 워크스페이스를 선택하도록 요청할 수 있으며, 코드 교환 시 워크스페이스 범위의 토큰이 바로 반환됩니다. 워크스페이스 모드로 로그인을 참조하세요.

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 리디렉션 엔드포인트를 호스팅할 수 있는 앱

인증 코드 리디렉션 흐름

웹 및 서버 앱

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

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

데스크톱 및 온프레미스 앱

클라이언트 라이브러리

흐름을 직접 구현할 필요는 없습니다. Altium은 언어에 구애받지 않는 단일 명세에 따라 구축되고 공통 적합성 테스트 모음으로 검증된 오픈 소스 라이브러리를 유지 관리합니다.

언어

참조 문서

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

자세히 알아보기

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