Xác thực
Altium Identity là nhà cung cấp danh tính OAuth 2.0 và OpenID Connect (OIDC) của Altium. Ứng dụng của bạn xác thực người dùng thông qua Altium Identity rồi gọi API Altium 365 thay mặt họ — ứng dụng không bao giờ xử lý mật khẩu Altium của người dùng.
Ứng dụng đăng nhập bằng authorization-code flow và PKCE. Client công khai (desktop, on-prem, native, ứng dụng trang đơn) dùng PKCE mà không có client secret; client bảo mật (backend web/server) bổ sung client secret. Các luồng từng bước, với mọi request và response, có trên GitHub — trang này giải thích các khái niệm để bạn biết nên chọn hướng nào.
Thuật ngữ về token
Giải pháp Altium 365 thương mại hoạt động trên bốn khu vực địa lý:
Thuật ngữ |
Nó là gì |
Global access token |
Một token cấp người dùng mà bạn nhận được sau khi đăng nhập với các |
Workspace access token |
Một token được giới hạn cho một workspace duy nhất thông qua |
| Refresh token | Được cấp khi bạn yêu cầu |
Để xem đầy đủ cấu trúc của token và các claim của nó, hãy xem Tokens và OAuth Scopes.
Hành trình đăng nhập
Quy trình này giống nhau cho ứng dụng web và ứng dụng desktop/on-prem — chỉ khác ở cách how bạn lấy authorization code (một chuyển hướng do ứng dụng của bạn lưu trữ, hoặc mô hình ActionWait do Altium lưu trữ cho các ứng dụng không thể tự lưu trữ điểm chuyển hướng). Trong mọi trường hợp:
-
Sign in on Commercial Cloud (
https://auth.altium.com) để lấy global access token. Dùng token này cho các tài nguyên toàn cục như liệt kê các workspace của người dùng. -
Discover the user's workspaces với token toàn cục.
-
Exchange the global token for a workspace access token, tại endpoint tương ứng với workspace đó (Commercial hoặc Gov Cloud — xem bên dưới).
-
Call the Altium 365 API với workspace token, làm mới token tại chính endpoint đã cấp nó.
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)
Một ứng dụng thường giữ nhiều token cùng lúc — một token toàn cục cộng với một workspace token cho mỗi workspace đang sử dụng. Mỗi token được làm mới tại endpoint cấp phát riêng của nó.
Commercial Cloud và Gov Cloud
Altium 365 vận hành trên hai môi trường tách biệt hoàn toàn:
-
Commercial Cloud (
auth.altium.com) — môi trường mặc định. -
Gov Cloud (
auth.365-gov.altium.com) — môi trường biệt lập dành cho các workspace ITAR/được quản lý theo quy định.
Issuer của token (iss) cho biết token đó được phát hành từ môi trường nào, và hai môi trường này không bao giờ có thể dùng thay thế cho nhau: token Gov sẽ bị các dịch vụ Commercial từ chối, và token Commercial sẽ bị Gov Cloud từ chối. Gov Cloud thực thi điều này bằng two-token model — token workspace của Gov mang một dấu hiệu secure để ràng buộc nó với Gov Cloud. Bạn đăng nhập một lần trên Commercial Cloud, sau đó trao đổi token toàn cục của mình để lấy từng workspace token trên môi trường đang sở hữu workspace tương ứng.
Tôi cần luồng nào?
Ứng dụng của bạn |
Luồng |
Hướng dẫn |
| Web or server ứng dụng có thể lưu trữ một endpoint chuyển hướng HTTPS | Luồng chuyển hướng authorization code |
Ứng dụng web & server |
Desktop, on-prem, or native ứng dụng không thể lưu trữ chuyển hướng |
Đăng nhập qua trình duyệt theo mô hình ActionWait do Altium lưu trữ |
Ứng dụng desktop & on-prem |
Thư viện client
Bạn không phải tự triển khai luồng theo cách thủ công. Altium duy trì các thư viện mã nguồn mở được xây dựng theo một đặc tả trung lập ngôn ngữ và được xác thực bằng bộ kiểm thử tương thích dùng chung:
Ngôn ngữ |
Tài liệu tham chiếu |
| TypeScript | Thư viện TypeScript |
| .NET | Thư viện .NET |